chore(build): Use jfMod DSL instead of properties
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/jfmod Pipeline was successful Details

This commit is contained in:
Johannes Frohnmeyer 2023-07-09 16:50:53 +02:00
parent e7bfc67bf5
commit 460d75ba49
Signed by: Johannes
GPG Key ID: E76429612C2929F4
15 changed files with 118 additions and 54 deletions

View File

@ -1,21 +1,47 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins { plugins {
id("jfmod") version "1.3-SNAPSHOT" id("jfmod")
} }
val nonModSubprojects: List<String> by extra group = "io.gitlab.jfronny.libjf"
val devOnlyModules: List<String> by extra
allprojects { val fabricVersion by extra("0.83.0+1.20")
if (name in nonModSubprojects) return@allprojects val commonsVersion by extra("1.3-SNAPSHOT")
val gsonCompileVersion by extra("1.3-SNAPSHOT")
val modmenuVersion by extra("7.0.1")
dependencies { val annotationsVersion by extra("24.0.1")
modLocalRuntime("com.terraformersmc:modmenu:${prop("modmenu_version")}") { val javapoetVersion by extra("1.13.0")
exclude("net.fabricmc") // required to work around duplicate fabric loaders
} jfMod {
modLocalRuntime(fabricApi.module("fabric-command-api-v2", prop("fabric_version"))) minecraftVersion = "1.20"
compileOnly("io.gitlab.jfronny:commons:${prop("commons_version")}") yarn("build.1")
compileOnly("io.gitlab.jfronny:commons-gson:${prop("commons_version")}") 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")
} }
} }

View File

@ -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 fabric.loom.multiProjectOptimisation=true

View File

@ -1,14 +1,20 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod.module")
}
base { base {
archivesName.set("libjf-base") archivesName.set("libjf-base")
} }
dependencies { dependencies {
include(modImplementation(fabricApi.module("fabric-lifecycle-events-v1", prop("fabric_version")))!!) val fabricVersion: String by rootProject.extra
shadow("io.gitlab.jfronny:commons:${prop("commons_version")}") val commonsVersion: String by rootProject.extra
shadow("io.gitlab.jfronny:commons-gson:${prop("commons_version")}") include(modImplementation(fabricApi.module("fabric-lifecycle-events-v1", fabricVersion))!!)
shadow("io.gitlab.jfronny:commons-slf4j:${prop("commons_version")}") { shadow("io.gitlab.jfronny:commons:$commonsVersion")
shadow("io.gitlab.jfronny:commons-gson:$commonsVersion")
shadow("io.gitlab.jfronny:commons-slf4j:$commonsVersion") {
isTransitive = false isTransitive = false
} }
} }

View File

@ -1,11 +1,16 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod.module")
}
base { base {
archivesName.set("libjf-config-commands-v1") archivesName.set("libjf-config-commands-v1")
} }
dependencies { dependencies {
val fabricVersion: String by rootProject.extra
api(devProject(":libjf-base")) api(devProject(":libjf-base"))
api(devProject(":libjf-config-core-v1")) 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))!!)
} }

View File

@ -17,12 +17,16 @@ repositories {
} }
dependencies { 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(devProject(":libjf-config-core-v1"))
implementation("org.jetbrains:annotations:${prop("annotations_version")}") implementation("org.jetbrains:annotations:$annotationsVersion")
implementation("io.gitlab.jfronny:commons:${prop("commons_version")}") implementation("io.gitlab.jfronny:commons:$commonsVersion")
implementation("io.gitlab.jfronny:commons-gson:${prop("commons_version")}") implementation("io.gitlab.jfronny:commons-gson:$commonsVersion")
implementation("com.squareup:javapoet:${prop("javapoet_version")}") implementation("com.squareup:javapoet:$javapoetVersion")
testAnnotationProcessor(sourceSets.main.get().output) testAnnotationProcessor(sourceSets.main.get().output)
configurations.testAnnotationProcessor.get().extendsFrom(configurations.implementation.get()) configurations.testAnnotationProcessor.get().extendsFrom(configurations.implementation.get())
} }

View File

@ -1,10 +1,15 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod.module")
}
base { base {
archivesName.set("libjf-config-core-v1") archivesName.set("libjf-config-core-v1")
} }
dependencies { dependencies {
val modmenuVersion: String by rootProject.extra
api(devProject(":libjf-base")) api(devProject(":libjf-base"))
modCompileOnly("com.terraformersmc:modmenu:${prop("modmenu_version")}") modCompileOnly("com.terraformersmc:modmenu:$modmenuVersion")
} }

View File

@ -1,5 +1,9 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod.module")
}
base { base {
archivesName.set("libjf-config-reflect-v1") archivesName.set("libjf-config-reflect-v1")
} }

View File

@ -1,11 +1,16 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod.module")
}
base { base {
archivesName.set("libjf-config-ui-tiny-v1") archivesName.set("libjf-config-ui-tiny-v1")
} }
dependencies { dependencies {
val fabricVersion: String by rootProject.extra
api(devProject(":libjf-base")) api(devProject(":libjf-base"))
api(devProject(":libjf-config-core-v1")) api(devProject(":libjf-config-core-v1"))
include(fabricApi.module("fabric-resource-loader-v0", prop("fabric_version"))) include(fabricApi.module("fabric-resource-loader-v0", fabricVersion))
} }

View File

@ -1,11 +1,16 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod.module")
}
base { base {
archivesName.set("libjf-data-manipulation-v0") archivesName.set("libjf-data-manipulation-v0")
} }
dependencies { dependencies {
val fabricVersion: String by rootProject.extra
api(devProject(":libjf-base")) api(devProject(":libjf-base"))
api(devProject(":libjf-unsafe-v0")) api(devProject(":libjf-unsafe-v0"))
modApi(fabricApi.module("fabric-api-base", prop("fabric_version"))) modApi(fabricApi.module("fabric-api-base", fabricVersion))
} }

View File

@ -1,10 +1,15 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod.module")
}
base { base {
archivesName.set("libjf-data-v0") archivesName.set("libjf-data-v0")
} }
dependencies { dependencies {
val fabricVersion: String by rootProject.extra
api(devProject(":libjf-base")) api(devProject(":libjf-base"))
include(fabricApi.module("fabric-resource-loader-v0", prop("fabric_version"))) include(fabricApi.module("fabric-resource-loader-v0", fabricVersion))
} }

View File

@ -1,7 +1,15 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod.module")
}
jfModule {
devOnly = true
}
base { base {
archivesName.set("libjf-devutil") archivesName = "libjf-devutil"
} }
dependencies { dependencies {

View File

@ -1,5 +1,9 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod.module")
}
base { base {
archivesName.set("libjf-translate-v1") archivesName.set("libjf-translate-v1")
} }

View File

@ -1,5 +1,9 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod.module")
}
base { base {
archivesName.set("libjf-unsafe-v0") archivesName.set("libjf-unsafe-v0")
} }

View File

@ -1,13 +1,18 @@
import io.gitlab.jfronny.scripts.* import io.gitlab.jfronny.scripts.*
plugins {
id("jfmod.module")
}
base { base {
archivesName.set("libjf-web-v0") archivesName.set("libjf-web-v0")
} }
dependencies { dependencies {
val fabricVersion: String by rootProject.extra
api(devProject(":libjf-base")) api(devProject(":libjf-base"))
api(devProject(":libjf-config-core-v1")) 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")) annotationProcessor(project(":libjf-config-compiler-plugin-v2"))
} }

View File

@ -4,6 +4,10 @@ pluginManagement {
maven("https://maven.frohnmeyer-wds.de/artifacts") // scripts maven("https://maven.frohnmeyer-wds.de/artifacts") // scripts
gradlePluginPortal() gradlePluginPortal()
} }
plugins {
id("jfmod") version("1.5-SNAPSHOT")
id("jfmod.module")
}
} }
rootProject.name = "libjf" rootProject.name = "libjf"