diff --git a/buildSrc/src/main/kotlin/DependencyConfig.kt b/buildSrc/src/main/kotlin/DependencyConfig.kt index 55f6f18b6..d31736022 100644 --- a/buildSrc/src/main/kotlin/DependencyConfig.kt +++ b/buildSrc/src/main/kotlin/DependencyConfig.kt @@ -45,6 +45,9 @@ fun Project.configureDependencies() { maven ("https://maven.quiltmc.org/repository/release/") { name = "Quilt" } + maven("https://jitpack.io") { + name = "JitPack" + } } dependencies { diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index c7d2193e5..ef3ce2946 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -18,20 +18,18 @@ object Versions { } object Fabric { - const val fabricLoader = "0.14.2" - const val fabricAPI = "0.56.0+1.19" - const val mixin = "0.11.2+mixin.0.8.5" - const val loom = "0.12-SNAPSHOT" - const val minotaur = "1.1.0" + const val fabricLoader = "0.14.8" + const val fabricAPI = "0.57.0+1.19" } object Quilt { const val quiltLoader = "0.17.0" - const val loom = "0.12.+" const val fabricApi = "2.0.0-beta.4+0.57.0-1.19" } object Mod { + const val mixin = "0.11.2+mixin.0.8.5" + const val minecraft = "1.19" const val yarn = "$minecraft+build.1" const val fabricLoader = "0.14.2" @@ -40,10 +38,12 @@ object Versions { const val architecturyPlugin = "3.4-SNAPSHOT" const val loomQuiltflower = "1.7.1" + + const val lazyDfu = "0.1.2" } object Forge { - const val forge = "${Mod.minecraft}-41.0.38" + const val forge = "${Mod.minecraft}-41.0.63" const val burningwave = "12.53.0" } @@ -64,5 +64,6 @@ object Versions { const val nbt = "6.1" const val logback = "1.2.9" const val commonsIO = "2.7" + const val guava = "31.0.1-jre" } } \ No newline at end of file diff --git a/common/addons/structure-sponge-loader/build.gradle.kts b/common/addons/structure-sponge-loader/build.gradle.kts index d064e4fd5..dba93405f 100644 --- a/common/addons/structure-sponge-loader/build.gradle.kts +++ b/common/addons/structure-sponge-loader/build.gradle.kts @@ -2,10 +2,6 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar version = version("1.0.0") -repositories { - maven { url = uri("https://jitpack.io/") } -} - dependencies { api("commons-io:commons-io:2.7") api("com.github.Querz:NBT:6.1") diff --git a/platforms/cli/build.gradle.kts b/platforms/cli/build.gradle.kts index 26d9f3d6c..e273422af 100644 --- a/platforms/cli/build.gradle.kts +++ b/platforms/cli/build.gradle.kts @@ -2,18 +2,15 @@ plugins { application } -repositories { - maven { url = uri("https://jitpack.io/") } -} - val javaMainClass = "com.dfsek.terra.cli.TerraCLI" dependencies { - shadedApi("commons-io:commons-io:${Versions.CLI.commonsIO}") - shadedApi("com.github.Querz:NBT:${Versions.CLI.nbt}") shadedApi(project(":common:implementation:base")) - shadedImplementation("com.google.guava:guava:31.0.1-jre") + shadedApi("commons-io:commons-io:${Versions.CLI.commonsIO}") + shadedApi("com.github.Querz:NBT:${Versions.CLI.nbt}") + + shadedImplementation("com.google.guava:guava:${Versions.CLI.guava}") shadedImplementation("ch.qos.logback:logback-classic:${Versions.CLI.logback}") diff --git a/platforms/fabric/build.gradle.kts b/platforms/fabric/build.gradle.kts index 1c79fbf62..85a829444 100644 --- a/platforms/fabric/build.gradle.kts +++ b/platforms/fabric/build.gradle.kts @@ -1,26 +1,22 @@ plugins { - id("fabric-loom") version Versions.Fabric.loom + id("dev.architectury.loom") version Versions.Mod.architecuryLoom id("architectury-plugin") version Versions.Mod.architecturyPlugin id("io.github.juuxel.loom-quiltflower") version Versions.Mod.loomQuiltflower } - -configurations { - val common by creating - compileClasspath.get().extendsFrom(common) - runtimeClasspath.get().extendsFrom(common) +architectury { + platformSetupLoomIde() + loader("fabric") } dependencies { shadedApi(project(":common:implementation:base")) - compileOnly("net.fabricmc:sponge-mixin:${Versions.Fabric.mixin}") - annotationProcessor("net.fabricmc:sponge-mixin:${Versions.Fabric.mixin}") - annotationProcessor("net.fabricmc:fabric-loom:${Versions.Fabric.loom}") - - "common"(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false } + implementation(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false } + "developmentFabric"(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false } shaded(project(path = ":platforms:mixin-common", configuration = "transformProductionFabric")) { isTransitive = false } - "common"(project(path = ":platforms:mixin-lifecycle", configuration = "namedElements")) { isTransitive = false } + implementation(project(path = ":platforms:mixin-lifecycle", configuration = "namedElements")) { isTransitive = false } + "developmentFabric"(project(path = ":platforms:mixin-lifecycle", configuration = "namedElements")) { isTransitive = false } shaded(project(path = ":platforms:mixin-lifecycle", configuration = "transformProductionFabric")) { isTransitive = false } @@ -37,15 +33,25 @@ dependencies { modImplementation("cloud.commandframework", "cloud-fabric", Versions.Libraries.cloud) include("cloud.commandframework", "cloud-fabric", Versions.Libraries.cloud) + + modLocalRuntime("com.github.astei:lazydfu:${Versions.Mod.lazyDfu}") } loom { - accessWidenerPath.set(project(":platforms:mixin-common").file("terra.accesswidener")) + accessWidenerPath.set(project(":platforms:mixin-common").file("src/main/resources/terra.accesswidener")) mixin { defaultRefmapName.set("terra.fabric.refmap.json") } + launches { + named("client") { + property("fabric.log.level", "debug") + } + named("server") { + property("fabric.log.level", "debug") + } + } } @@ -57,11 +63,8 @@ tasks { } remapJar { + injectAccessWidener.set(true) inputFile.set(shadowJar.get().archiveFile) archiveFileName.set("${rootProject.name.capitalize()}-${project.version}.jar") } - - processResources { - from(project(":platforms:mixin-common").file("terra.accesswidener")) - } } diff --git a/platforms/fabric/gradle.properties b/platforms/fabric/gradle.properties new file mode 100644 index 000000000..90ee7a259 --- /dev/null +++ b/platforms/fabric/gradle.properties @@ -0,0 +1 @@ +loom.platform=fabric \ No newline at end of file diff --git a/platforms/fabric/src/main/resources/fabric.mod.json b/platforms/fabric/src/main/resources/fabric.mod.json index 65289db22..e71bcfeac 100644 --- a/platforms/fabric/src/main/resources/fabric.mod.json +++ b/platforms/fabric/src/main/resources/fabric.mod.json @@ -29,6 +29,5 @@ "fabricloader": ">=0.14.2", "java": ">=17", "minecraft": "1.19.x" - }, - "accessWidener": "terra.accesswidener" + } } \ No newline at end of file diff --git a/platforms/forge/build.gradle.kts b/platforms/forge/build.gradle.kts index 602f85976..6b545f2ba 100644 --- a/platforms/forge/build.gradle.kts +++ b/platforms/forge/build.gradle.kts @@ -6,26 +6,16 @@ plugins { architectury { platformSetupLoomIde() - forge() -} - -configurations { - val common by creating - compileClasspath.get().extendsFrom(common) - runtimeClasspath.get().extendsFrom(common) + loader("forge") } dependencies { shadedApi(project(":common:implementation:base")) "forgeRuntimeLibrary"(project(":common:implementation:base")) - - "common"(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false } + implementation(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false } + "developmentForge"(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false } shaded(project(path = ":platforms:mixin-common", configuration = "transformProductionForge")) { isTransitive = false } - "developmentForge"(project(path = ":platforms:mixin-common", configuration = "namedElements")) { - isTransitive = false - } - forge(group = "net.minecraftforge", name = "forge", version = Versions.Forge.forge) @@ -38,12 +28,21 @@ dependencies { } loom { - accessWidenerPath.set(project(":platforms:mixin-common").file("terra.accesswidener")) + accessWidenerPath.set(project(":platforms:mixin-common").file("src/main/resources/terra.accesswidener")) mixin { defaultRefmapName.set("terra.forge.refmap.json") } + launches { + named("client") { + property("fabric.log.level", "debug") + } + named("server") { + property("fabric.log.level", "debug") + } + } + forge { convertAccessWideners.set(true) mixinConfig("terra.common.mixins.json") @@ -66,17 +65,9 @@ tasks { ) } } - - shadowJar { - exclude("fabric.mod.json") - } remapJar { inputFile.set(shadowJar.get().archiveFile) archiveFileName.set("${rootProject.name.capitalize()}-${project.version}.jar") } - - processResources { - from(project(":platforms:mixin-common").file("terra.accesswidener")) - } } \ No newline at end of file diff --git a/platforms/mixin-common/build.gradle.kts b/platforms/mixin-common/build.gradle.kts index f9d382c58..c270dbf53 100644 --- a/platforms/mixin-common/build.gradle.kts +++ b/platforms/mixin-common/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } loom { - accessWidenerPath.set(file("terra.accesswidener")) + accessWidenerPath.set(file("src/main/resources/terra.accesswidener")) mixin { defaultRefmapName.set("terra.common.refmap.json") @@ -15,7 +15,8 @@ loom { dependencies { shadedApi(project(":common:implementation:base")) - modImplementation("net.fabricmc:fabric-loader:${Versions.Mod.fabricLoader}") + compileOnly("net.fabricmc:sponge-mixin:${Versions.Mod.mixin}") + annotationProcessor("net.fabricmc:sponge-mixin:${Versions.Mod.mixin}") minecraft("com.mojang:minecraft:${Versions.Mod.minecraft}") mappings("net.fabricmc:yarn:${Versions.Mod.yarn}:v2") diff --git a/platforms/mixin-common/terra.accesswidener b/platforms/mixin-common/src/main/resources/terra.accesswidener similarity index 100% rename from platforms/mixin-common/terra.accesswidener rename to platforms/mixin-common/src/main/resources/terra.accesswidener diff --git a/platforms/mixin-lifecycle/build.gradle.kts b/platforms/mixin-lifecycle/build.gradle.kts index a9fcf8b17..eb8459b4e 100644 --- a/platforms/mixin-lifecycle/build.gradle.kts +++ b/platforms/mixin-lifecycle/build.gradle.kts @@ -4,32 +4,20 @@ plugins { id("io.github.juuxel.loom-quiltflower") version Versions.Mod.loomQuiltflower } -architectury { - platformSetupLoomIde() - fabric() -} - -configurations { - val common by creating - compileClasspath.get().extendsFrom(common) - runtimeClasspath.get().extendsFrom(common) -} - dependencies { shadedApi(project(":common:implementation:base")) - compileOnly("net.fabricmc:sponge-mixin:${Versions.Fabric.mixin}") - annotationProcessor("net.fabricmc:sponge-mixin:${Versions.Fabric.mixin}") - annotationProcessor("net.fabricmc:fabric-loom:${Versions.Fabric.loom}") + compileOnly("net.fabricmc:sponge-mixin:${Versions.Mod.mixin}") + annotationProcessor("net.fabricmc:sponge-mixin:${Versions.Mod.mixin}") - "common"(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false } + implementation(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false } minecraft("com.mojang:minecraft:${Versions.Mod.minecraft}") mappings("net.fabricmc:yarn:${Versions.Mod.yarn}:v2") } loom { - accessWidenerPath.set(project(":platforms:mixin-common").file("terra.accesswidener")) + accessWidenerPath.set(project(":platforms:mixin-common").file("src/main/resources/terra.accesswidener")) mixin { defaultRefmapName.set("terra.lifecycle.refmap.json") @@ -44,10 +32,6 @@ tasks { remapJar { inputFile.set(shadowJar.get().archiveFile) } - - processResources { - from(project(":platforms:mixin-common").file("terra.accesswidener")) - } } architectury { diff --git a/platforms/quilt/build.gradle.kts b/platforms/quilt/build.gradle.kts index 70d593ccc..ead32bd01 100644 --- a/platforms/quilt/build.gradle.kts +++ b/platforms/quilt/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("dev.architectury.loom") version Versions.Mod.architecuryLoom id("architectury-plugin") version Versions.Mod.architecturyPlugin + id("io.github.juuxel.loom-quiltflower") version Versions.Mod.loomQuiltflower } architectury { @@ -18,7 +19,6 @@ dependencies { "developmentQuilt"(project(path = ":platforms:mixin-lifecycle", configuration = "namedElements")) { isTransitive = false } shaded(project(path = ":platforms:mixin-lifecycle", configuration = "transformProductionQuilt")) { isTransitive = false } - minecraft("com.mojang:minecraft:${Versions.Mod.minecraft}") mappings("net.fabricmc:yarn:${Versions.Mod.yarn}:v2") @@ -34,14 +34,28 @@ dependencies { exclude("net.fabricmc") exclude("net.fabricmc.fabric-api") } + + modLocalRuntime("com.github.astei:lazydfu:${Versions.Mod.lazyDfu}") { + exclude("net.fabricmc") + exclude("net.fabricmc.fabric-api") + } } loom { - accessWidenerPath.set(project(":platforms:mixin-common").file("terra.accesswidener")) + accessWidenerPath.set(project(":platforms:mixin-common").file("src/main/resources/terra.accesswidener")) mixin { defaultRefmapName.set("terra.quilt.refmap.json") } + + launches { + named("client") { + property("fabric.log.level", "debug") + } + named("server") { + property("fabric.log.level", "debug") + } + } } @@ -53,11 +67,8 @@ tasks { } remapJar { + injectAccessWidener.set(true) inputFile.set(shadowJar.get().archiveFile) archiveFileName.set("${rootProject.name.capitalize()}-${project.version}.jar") } - - processResources { - from(project(":platforms:mixin-common").file("terra.accesswidener")) - } } diff --git a/platforms/quilt/src/main/resources/quilt.mod.json b/platforms/quilt/src/main/resources/quilt.mod.json index fbf0b5470..6ea8b960f 100644 --- a/platforms/quilt/src/main/resources/quilt.mod.json +++ b/platforms/quilt/src/main/resources/quilt.mod.json @@ -47,6 +47,5 @@ "terra.quilt.mixins.json", "terra.lifecycle.mixins.json", "terra.common.mixins.json" - ], - "accessWidener": "terra.accesswidener" + ] } \ No newline at end of file