diff --git a/buildSrc/src/main/kotlin/com/dfsek/terra/Versions.kt b/buildSrc/src/main/kotlin/com/dfsek/terra/Versions.kt new file mode 100644 index 000000000..363ac122f --- /dev/null +++ b/buildSrc/src/main/kotlin/com/dfsek/terra/Versions.kt @@ -0,0 +1,23 @@ +package com.dfsek.terra + +object Versions { + object Libraries { + const val tectonic = "3.1.0" + + const val cloud = "1.6.1" + + const val slf4j = "1.7.32" + const val log4j_slf4j_impl = "2.14.1" + } + + object Fabric { + const val fabricAPI = "0.44.0+1.18" + const val minecraft = "1.18.1" + const val yarn = "$minecraft+build.7" + } + + object Bukkit { + const val paper = "1.18-R0.1-SNAPSHOT" + const val paperLib = "1.0.5" + } +} \ No newline at end of file diff --git a/common/addons/language-yaml/build.gradle.kts b/common/addons/language-yaml/build.gradle.kts index 3b8fcb852..b1336f135 100644 --- a/common/addons/language-yaml/build.gradle.kts +++ b/common/addons/language-yaml/build.gradle.kts @@ -1,8 +1,9 @@ +import com.dfsek.terra.Versions import com.dfsek.terra.version version = version("0.1.0") dependencies { - shadedImplementation("com.dfsek.tectonic:yaml:3.1.0") + shadedImplementation("com.dfsek.tectonic:yaml:${Versions.Libraries.tectonic}") shadedApi(project(":common:addons:manifest-addon-loader")) } diff --git a/common/addons/manifest-addon-loader/build.gradle.kts b/common/addons/manifest-addon-loader/build.gradle.kts index 2e437904b..c545fab4b 100644 --- a/common/addons/manifest-addon-loader/build.gradle.kts +++ b/common/addons/manifest-addon-loader/build.gradle.kts @@ -1,10 +1,11 @@ +import com.dfsek.terra.Versions import com.dfsek.terra.version version = version("0.1.0") dependencies { shadedApi("commons-io:commons-io:2.6") - shadedImplementation("com.dfsek.tectonic:yaml:3.1.0") + shadedImplementation("com.dfsek.tectonic:yaml:${Versions.Libraries.tectonic}") } tasks.withType { diff --git a/common/api/core/build.gradle.kts b/common/api/core/build.gradle.kts index c845b8a78..4cd1feee3 100644 --- a/common/api/core/build.gradle.kts +++ b/common/api/core/build.gradle.kts @@ -1,3 +1,5 @@ +import com.dfsek.terra.Versions + dependencies { shadedApi(project(":common:api:util")) shadedApi(project(":common:api:noise")) @@ -6,7 +8,7 @@ dependencies { shadedApi("net.jafama:jafama:2.3.2") - shadedApi("org.slf4j:slf4j-api:1.7.32") + shadedApi("org.slf4j", "slf4j-api", Versions.Libraries.slf4j) shadedApi("cloud.commandframework", "cloud-core", "1.6.1") } diff --git a/common/api/util/build.gradle.kts b/common/api/util/build.gradle.kts index 67cf30eef..98627cfd4 100644 --- a/common/api/util/build.gradle.kts +++ b/common/api/util/build.gradle.kts @@ -1,5 +1,7 @@ +import com.dfsek.terra.Versions + dependencies { - shadedApi("com.dfsek.tectonic:common:3.1.0") + shadedApi("com.dfsek.tectonic:common:${Versions.Libraries.tectonic}") shadedApi("net.jafama:jafama:2.3.2") } diff --git a/common/implementation/base/build.gradle.kts b/common/implementation/base/build.gradle.kts index f86cbebcf..c20efd26f 100644 --- a/common/implementation/base/build.gradle.kts +++ b/common/implementation/base/build.gradle.kts @@ -1,3 +1,5 @@ +import com.dfsek.terra.Versions + dependencies { shadedApi(project(":common:api")) shadedApi(project(":common:implementation:bootstrap-addon-loader")) @@ -6,7 +8,7 @@ dependencies { shadedApi("commons-io:commons-io:2.6") shadedImplementation("org.apache.commons:commons-text:1.9") - shadedImplementation("com.dfsek.tectonic:yaml:3.1.0") + shadedImplementation("com.dfsek.tectonic:yaml:${Versions.Libraries.tectonic}") shadedImplementation("org.yaml:snakeyaml:1.27") shadedImplementation("org.ow2.asm:asm:9.2") diff --git a/platforms/bukkit/build.gradle.kts b/platforms/bukkit/build.gradle.kts index c1c797eb6..06776ac9d 100644 --- a/platforms/bukkit/build.gradle.kts +++ b/platforms/bukkit/build.gradle.kts @@ -1,4 +1,5 @@ import com.dfsek.terra.addonDir +import com.dfsek.terra.Versions import com.dfsek.terra.gitClone import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import java.net.URL @@ -25,12 +26,12 @@ dependencies { because("Minecraft 1.17+ includes slf4j 1.8.0-beta4, so we need to shade it for other versions.") } - compileOnly("io.papermc.paper:paper-api:1.18-R0.1-SNAPSHOT") - shadedImplementation("io.papermc:paperlib:1.0.5") + compileOnly("io.papermc.paper", "paper-api", Versions.Bukkit.paper) + shadedImplementation("io.papermc", "paperlib", Versions.Bukkit.paperLib) shadedApi("com.google.guava:guava:30.0-jre") - shadedApi("cloud.commandframework", "cloud-paper", "1.6.1") + shadedApi("cloud.commandframework", "cloud-paper", Versions.Libraries.cloud) } val jvmFlags = listOf( diff --git a/platforms/fabric/build.gradle.kts b/platforms/fabric/build.gradle.kts index c45ee5825..3b217e2f7 100644 --- a/platforms/fabric/build.gradle.kts +++ b/platforms/fabric/build.gradle.kts @@ -1,9 +1,9 @@ import com.dfsek.terra.addonDir +import com.dfsek.terra.Versions import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import com.modrinth.minotaur.TaskModrinthUpload import net.fabricmc.loom.task.RemapJarTask -val minecraft = "1.18.1" val yarn = "6" val fabricLoader = "0.12.12" @@ -16,27 +16,27 @@ plugins { dependencies { shadedApi(project(":common:implementation:base")) - shadedApi("org.slf4j:slf4j-api:1.7.32") { + shadedApi("org.slf4j", "slf4j-api", Versions.Libraries.slf4j) { because("Minecraft 1.17+ includes slf4j 1.8.0-beta4, but we want slf4j 1.7.") } - shaded("org.apache.logging.log4j:log4j-slf4j-impl:2.14.1") { + shaded("org.apache.logging.log4j", "log4j-slf4j-impl", Versions.Libraries.log4j_slf4j_impl) { because("Minecraft 1.17+ includes slf4j 1.8.0-beta4, but we want slf4j 1.7.") exclude("org.apache.logging.log4j") } - minecraft("com.mojang:minecraft:$minecraft") { + minecraft("com.mojang:minecraft:${Versions.Fabric.minecraft}") { exclude("org.slf4j") } - mappings("net.fabricmc:yarn:$minecraft+build.$yarn:v2") + mappings("net.fabricmc:yarn:${Versions.Fabric.yarn}:v2") modImplementation("net.fabricmc:fabric-loader:$fabricLoader") setOf("fabric-command-api-v1", "fabric-lifecycle-events-v1").forEach { apiModule -> - modImplementation(fabricApi.module(apiModule, "0.44.0+1.18"))?.let { include(it) } + modImplementation(fabricApi.module(apiModule, Versions.Fabric.fabricAPI))?.let { include(it) } } - modImplementation("me.lucko:fabric-permissions-api:0.1-SNAPSHOT")?.let { include(it) } - modImplementation("cloud.commandframework:cloud-fabric:1.6.1")?.let { include(it) } + modImplementation(include("me.lucko", "fabric-permissions-api", "0.1-SNAPSHOT")) + modImplementation(include("cloud.commandframework", "cloud-fabric", Versions.Libraries.cloud)) } loom { @@ -76,6 +76,6 @@ tasks.register("publishModrinth") { versionNumber = "${project.version}-fabric" uploadFile = remapped.get().archiveFile.get().asFile releaseType = "beta" - addGameVersion(minecraft) + addGameVersion(Versions.Fabric.minecraft) addLoader("fabric") } \ No newline at end of file