Skip to content

Commit 666f90e

Browse files
backend: Multiversion Workflow
1 parent d907dc5 commit 666f90e

File tree

12 files changed

+143
-98
lines changed

12 files changed

+143
-98
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- name: make gradle wrapper executable
2929
run: chmod +x ./gradlew
3030
- name: build
31-
run: ./gradlew build
31+
run: ./gradlew chiseledBuild
3232
- name: capture build artifacts
3333
if: ${{ matrix.java == '21' }} # Only upload artifacts built from latest java
3434
uses: actions/upload-artifact@v4

build.gradle

Lines changed: 0 additions & 78 deletions
This file was deleted.

build.gradle.kts

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
2+
plugins {
3+
id("fabric-loom") version "1.10-SNAPSHOT"
4+
}
5+
6+
7+
version = property("mod_version")!! as String + "+mc" + property("minecraft_version")!!
8+
group = property("maven_group")!!
9+
10+
base {
11+
archivesName.set(property("archives_base_name") as String)
12+
}
13+
14+
repositories {
15+
mavenCentral()
16+
repositories {
17+
exclusiveContent {
18+
forRepository {
19+
maven {
20+
name = "Modrinth"
21+
url = uri("https://api.modrinth.com/maven")
22+
}
23+
}
24+
filter {
25+
includeGroup("maven.modrinth")
26+
}
27+
}
28+
}
29+
}
30+
31+
dependencies {
32+
minecraft("com.mojang:minecraft:${property("minecraft_version")}")
33+
mappings("net.fabricmc:yarn:${property("yarn_mappings")}:v2")
34+
modImplementation ("net.fabricmc:fabric-loader:${property("loader_version")}")
35+
36+
// Fabric API is not an end user dep -- it's required by Controlling hence why it's marked as runtimeOnly
37+
modRuntimeOnly("net.fabricmc.fabric-api:fabric-api:${property("fabric_version")}")
38+
39+
modImplementation("maven.modrinth:controlling:${property("controlling_version")}")
40+
modImplementation("maven.modrinth:searchables:${property("searchables_version")}")
41+
include(implementation("com.moulberry:mixinconstraints:${(property("mcon_version"))}")!!)
42+
43+
44+
}
45+
46+
tasks.processResources {
47+
inputs.property("version", project.version)
48+
49+
filesMatching("fabric.mod.json") {
50+
expand("version" to project.version)
51+
}
52+
}
53+
54+
tasks.withType<JavaCompile>().configureEach {
55+
options.release.set(21)
56+
}
57+
58+
java {
59+
withSourcesJar()
60+
sourceCompatibility = JavaVersion.VERSION_21
61+
targetCompatibility = JavaVersion.VERSION_21
62+
}
63+
64+
65+
tasks.named<Jar>("jar") {
66+
67+
from("LICENSE") {
68+
rename { "${it}_${project.base.archivesName.get()}" }
69+
}
70+
}
71+

gradle.properties

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
# Done to increase the memory available to gradle.
2-
org.gradle.jvmargs=-Xmx1G
2+
org.gradle.jvmargs=-Xmx2G
33
org.gradle.parallel=true
44

5-
# Fabric Properties
6-
# check these on https://fabricmc.net/develop
7-
minecraft_version=1.21.1
8-
yarn_mappings=1.21.1+build.3
9-
loader_version=0.16.5
5+
6+
loader_version=0.16.10
107

118
# Mod Properties
129
mod_version=1.0.0
1310
maven_group=wtf.cheeze.smkb
1411
archives_base_name=savemykeybinds
1512

16-
# Dependencies
17-
fabric_version=0.104.0+1.21.1
13+
mcon_version=1.0.8

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.21.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

settings.gradle

Lines changed: 0 additions & 10 deletions
This file was deleted.

settings.gradle.kts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
pluginManagement {
2+
repositories {
3+
maven {
4+
name = "Fabric"
5+
url = uri("https://maven.fabricmc.net/")
6+
}
7+
mavenCentral()
8+
gradlePluginPortal()
9+
maven("https://maven.kikugie.dev/snapshots")
10+
}
11+
}
12+
13+
plugins {
14+
id("dev.kikugie.stonecutter") version "0.6-alpha.13"
15+
}
16+
17+
stonecutter {
18+
kotlinController = true
19+
centralScript = "build.gradle.kts"
20+
21+
create(rootProject) {
22+
versions("1.21.1", "1.21.3", "1.21.4", "1.21.5")
23+
vcsVersion = "1.21.4"
24+
}
25+
}

stonecutter.gradle.kts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
plugins {
2+
id("dev.kikugie.stonecutter")
3+
}
4+
stonecutter active "1.21.1" // [SC] DO NOT EDIT
5+
6+
stonecutter registerChiseled tasks.register("chiseledBuild", stonecutter.chiseled) {
7+
group = "project"
8+
ofTask("build")
9+
}

versions/1.21.1/gradle.properties

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
minecraft_version=1.21.1
2+
yarn_mappings=1.21.1+build.3
3+
fabric_version=0.115.4+1.21.1
4+
5+
controlling_version=hGJDoW2W
6+
searchables_version=tRdr8Bg3
7+
8+
support_range=1.21.1

versions/1.21.3/gradle.properties

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
minecraft_version=1.21.3
2+
yarn_mappings=1.21.3+build.2
3+
fabric_version=0.114.0+1.21.3
4+
5+
controlling_version=7uMjHmML
6+
searchables_version=f7NEJ73Z
7+
8+
support_range=1.21.3

0 commit comments

Comments
 (0)