diff --git a/build.gradle.kts b/build.gradle.kts index 70d3e1a..27c75e0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,21 +1,47 @@ import io.gitlab.jfronny.scripts.* plugins { - id("jfmod") version "1.3-SNAPSHOT" + id("jfmod") } -val nonModSubprojects: List by extra -val devOnlyModules: List by extra +group = "io.gitlab.jfronny.libjf" -allprojects { - if (name in nonModSubprojects) return@allprojects +val fabricVersion by extra("0.83.0+1.20") +val commonsVersion by extra("1.3-SNAPSHOT") +val gsonCompileVersion by extra("1.3-SNAPSHOT") +val modmenuVersion by extra("7.0.1") - dependencies { - modLocalRuntime("com.terraformersmc:modmenu:${prop("modmenu_version")}") { - exclude("net.fabricmc") // required to work around duplicate fabric loaders - } - modLocalRuntime(fabricApi.module("fabric-command-api-v2", prop("fabric_version"))) - compileOnly("io.gitlab.jfronny:commons:${prop("commons_version")}") - compileOnly("io.gitlab.jfronny:commons-gson:${prop("commons_version")}") +val annotationsVersion by extra("24.0.1") +val javapoetVersion by extra("1.13.0") + +jfMod { + minecraftVersion = "1.20" + yarn("build.1") + loaderVersion = "0.14.21" + + modrinth { + projectId = "libjf" + optionalDependencies.add("fabric-api") + } + curseforge { + projectId = "482600" + optionalDependencies.add("fabric-api") + } +} + +allprojects { + if (!rootProject.jfMod.isMod(this)) return@allprojects + + base { + archivesName = "libjf" + } + + dependencies { + modLocalRuntime("com.terraformersmc:modmenu:$modmenuVersion") { + exclude("net.fabricmc") // required to work around duplicate fabric loaders + } + modLocalRuntime(fabricApi.module("fabric-command-api-v2", fabricVersion)) + compileOnly("io.gitlab.jfronny:commons:$commonsVersion") + compileOnly("io.gitlab.jfronny:commons-gson:$commonsVersion") } } diff --git a/gradle.properties b/gradle.properties index 4304825..c52e9c1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,27 +1 @@ -# https://fabricmc.net/develop/ -minecraft_version=1.20 -yarn_mappings=build.1 -loader_version=0.14.21 - -maven_group=io.gitlab.jfronny.libjf -archive_base_name=libjf - -dev_only_module=libjf-devutil -non_mod_project=libjf-config-compiler-plugin, libjf-config-compiler-plugin-v2 - -modrinth_id=libjf -modrinth_optional_dependencies=fabric-api -curseforge_id=482600 -curseforge_optional_dependencies=fabric-api - -fabric_version=0.83.0+1.20 -commons_version=1.3-SNAPSHOT -gson_compile_version=1.3-SNAPSHOT -modmenu_version=7.0.1 - -asm_version=9.5 -ant_version=1.10.13 -annotations_version=24.0.1 -javapoet_version=1.13.0 - fabric.loom.multiProjectOptimisation=true \ No newline at end of file diff --git a/libjf-base/build.gradle.kts b/libjf-base/build.gradle.kts index 62b2d77..f8a3fd8 100644 --- a/libjf-base/build.gradle.kts +++ b/libjf-base/build.gradle.kts @@ -1,14 +1,20 @@ import io.gitlab.jfronny.scripts.* +plugins { + id("jfmod.module") +} + base { archivesName.set("libjf-base") } dependencies { - include(modImplementation(fabricApi.module("fabric-lifecycle-events-v1", prop("fabric_version")))!!) - shadow("io.gitlab.jfronny:commons:${prop("commons_version")}") - shadow("io.gitlab.jfronny:commons-gson:${prop("commons_version")}") - shadow("io.gitlab.jfronny:commons-slf4j:${prop("commons_version")}") { + val fabricVersion: String by rootProject.extra + val commonsVersion: String by rootProject.extra + include(modImplementation(fabricApi.module("fabric-lifecycle-events-v1", fabricVersion))!!) + shadow("io.gitlab.jfronny:commons:$commonsVersion") + shadow("io.gitlab.jfronny:commons-gson:$commonsVersion") + shadow("io.gitlab.jfronny:commons-slf4j:$commonsVersion") { isTransitive = false } } diff --git a/libjf-config-commands-v1/build.gradle.kts b/libjf-config-commands-v1/build.gradle.kts index c19eda3..923c36f 100644 --- a/libjf-config-commands-v1/build.gradle.kts +++ b/libjf-config-commands-v1/build.gradle.kts @@ -1,11 +1,16 @@ import io.gitlab.jfronny.scripts.* +plugins { + id("jfmod.module") +} + base { archivesName.set("libjf-config-commands-v1") } dependencies { + val fabricVersion: String by rootProject.extra api(devProject(":libjf-base")) api(devProject(":libjf-config-core-v1")) - include(modImplementation(fabricApi.module("fabric-command-api-v2", prop("fabric_version")))!!) + include(modImplementation(fabricApi.module("fabric-command-api-v2", fabricVersion))!!) } diff --git a/libjf-config-compiler-plugin-v2/build.gradle.kts b/libjf-config-compiler-plugin-v2/build.gradle.kts index 704e162..2e791ee 100644 --- a/libjf-config-compiler-plugin-v2/build.gradle.kts +++ b/libjf-config-compiler-plugin-v2/build.gradle.kts @@ -17,12 +17,16 @@ repositories { } dependencies { - implementation("io.gitlab.jfronny.gson:gson-compile-processor-core:${prop("gson_compile_version")}") + val commonsVersion: String by rootProject.extra + val gsonCompileVersion: String by rootProject.extra + val annotationsVersion: String by rootProject.extra + val javapoetVersion: String by rootProject.extra + implementation("io.gitlab.jfronny.gson:gson-compile-processor-core:$gsonCompileVersion") implementation(devProject(":libjf-config-core-v1")) - implementation("org.jetbrains:annotations:${prop("annotations_version")}") - implementation("io.gitlab.jfronny:commons:${prop("commons_version")}") - implementation("io.gitlab.jfronny:commons-gson:${prop("commons_version")}") - implementation("com.squareup:javapoet:${prop("javapoet_version")}") + implementation("org.jetbrains:annotations:$annotationsVersion") + implementation("io.gitlab.jfronny:commons:$commonsVersion") + implementation("io.gitlab.jfronny:commons-gson:$commonsVersion") + implementation("com.squareup:javapoet:$javapoetVersion") testAnnotationProcessor(sourceSets.main.get().output) configurations.testAnnotationProcessor.get().extendsFrom(configurations.implementation.get()) } diff --git a/libjf-config-core-v1/build.gradle.kts b/libjf-config-core-v1/build.gradle.kts index b4bb39f..4bcc048 100644 --- a/libjf-config-core-v1/build.gradle.kts +++ b/libjf-config-core-v1/build.gradle.kts @@ -1,10 +1,15 @@ import io.gitlab.jfronny.scripts.* +plugins { + id("jfmod.module") +} + base { archivesName.set("libjf-config-core-v1") } dependencies { + val modmenuVersion: String by rootProject.extra api(devProject(":libjf-base")) - modCompileOnly("com.terraformersmc:modmenu:${prop("modmenu_version")}") + modCompileOnly("com.terraformersmc:modmenu:$modmenuVersion") } diff --git a/libjf-config-reflect-v1/build.gradle.kts b/libjf-config-reflect-v1/build.gradle.kts index 2af70e2..745747a 100644 --- a/libjf-config-reflect-v1/build.gradle.kts +++ b/libjf-config-reflect-v1/build.gradle.kts @@ -1,5 +1,9 @@ import io.gitlab.jfronny.scripts.* +plugins { + id("jfmod.module") +} + base { archivesName.set("libjf-config-reflect-v1") } diff --git a/libjf-config-ui-tiny-v1/build.gradle.kts b/libjf-config-ui-tiny-v1/build.gradle.kts index 1df1b3b..a8fd5ce 100644 --- a/libjf-config-ui-tiny-v1/build.gradle.kts +++ b/libjf-config-ui-tiny-v1/build.gradle.kts @@ -1,11 +1,16 @@ import io.gitlab.jfronny.scripts.* +plugins { + id("jfmod.module") +} + base { archivesName.set("libjf-config-ui-tiny-v1") } dependencies { + val fabricVersion: String by rootProject.extra api(devProject(":libjf-base")) api(devProject(":libjf-config-core-v1")) - include(fabricApi.module("fabric-resource-loader-v0", prop("fabric_version"))) + include(fabricApi.module("fabric-resource-loader-v0", fabricVersion)) } diff --git a/libjf-data-manipulation-v0/build.gradle.kts b/libjf-data-manipulation-v0/build.gradle.kts index fa35a06..fce7e55 100644 --- a/libjf-data-manipulation-v0/build.gradle.kts +++ b/libjf-data-manipulation-v0/build.gradle.kts @@ -1,11 +1,16 @@ import io.gitlab.jfronny.scripts.* +plugins { + id("jfmod.module") +} + base { archivesName.set("libjf-data-manipulation-v0") } dependencies { + val fabricVersion: String by rootProject.extra api(devProject(":libjf-base")) api(devProject(":libjf-unsafe-v0")) - modApi(fabricApi.module("fabric-api-base", prop("fabric_version"))) + modApi(fabricApi.module("fabric-api-base", fabricVersion)) } diff --git a/libjf-data-v0/build.gradle.kts b/libjf-data-v0/build.gradle.kts index 198edbe..5477ff8 100644 --- a/libjf-data-v0/build.gradle.kts +++ b/libjf-data-v0/build.gradle.kts @@ -1,10 +1,15 @@ import io.gitlab.jfronny.scripts.* +plugins { + id("jfmod.module") +} + base { archivesName.set("libjf-data-v0") } dependencies { + val fabricVersion: String by rootProject.extra api(devProject(":libjf-base")) - include(fabricApi.module("fabric-resource-loader-v0", prop("fabric_version"))) + include(fabricApi.module("fabric-resource-loader-v0", fabricVersion)) } diff --git a/libjf-devutil/build.gradle.kts b/libjf-devutil/build.gradle.kts index c366ed1..04df16c 100644 --- a/libjf-devutil/build.gradle.kts +++ b/libjf-devutil/build.gradle.kts @@ -1,7 +1,15 @@ import io.gitlab.jfronny.scripts.* +plugins { + id("jfmod.module") +} + +jfModule { + devOnly = true +} + base { - archivesName.set("libjf-devutil") + archivesName = "libjf-devutil" } dependencies { diff --git a/libjf-translate-v1/build.gradle.kts b/libjf-translate-v1/build.gradle.kts index 2ba582a..2bbd137 100644 --- a/libjf-translate-v1/build.gradle.kts +++ b/libjf-translate-v1/build.gradle.kts @@ -1,5 +1,9 @@ import io.gitlab.jfronny.scripts.* +plugins { + id("jfmod.module") +} + base { archivesName.set("libjf-translate-v1") } diff --git a/libjf-unsafe-v0/build.gradle.kts b/libjf-unsafe-v0/build.gradle.kts index 24c2161..996b5f4 100644 --- a/libjf-unsafe-v0/build.gradle.kts +++ b/libjf-unsafe-v0/build.gradle.kts @@ -1,5 +1,9 @@ import io.gitlab.jfronny.scripts.* +plugins { + id("jfmod.module") +} + base { archivesName.set("libjf-unsafe-v0") } diff --git a/libjf-web-v0/build.gradle.kts b/libjf-web-v0/build.gradle.kts index 513c8be..ed9bac7 100644 --- a/libjf-web-v0/build.gradle.kts +++ b/libjf-web-v0/build.gradle.kts @@ -1,13 +1,18 @@ import io.gitlab.jfronny.scripts.* +plugins { + id("jfmod.module") +} + base { archivesName.set("libjf-web-v0") } dependencies { + val fabricVersion: String by rootProject.extra api(devProject(":libjf-base")) api(devProject(":libjf-config-core-v1")) - include(modImplementation(fabricApi.module("fabric-command-api-v2", prop("fabric_version")))!!) + include(modImplementation(fabricApi.module("fabric-command-api-v2", fabricVersion))!!) annotationProcessor(project(":libjf-config-compiler-plugin-v2")) } diff --git a/settings.gradle.kts b/settings.gradle.kts index fff8646..2f8c2cd 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -4,6 +4,10 @@ pluginManagement { maven("https://maven.frohnmeyer-wds.de/artifacts") // scripts gradlePluginPortal() } + plugins { + id("jfmod") version("1.5-SNAPSHOT") + id("jfmod.module") + } } rootProject.name = "libjf"