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.*
plugins {
id("jfmod") version "1.3-SNAPSHOT"
id("jfmod")
}
val nonModSubprojects: List<String> by extra
val devOnlyModules: List<String> 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")
}
}

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

View File

@ -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
}
}

View File

@ -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))!!)
}

View File

@ -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())
}

View File

@ -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")
}

View File

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

View File

@ -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))
}

View File

@ -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))
}

View File

@ -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))
}

View File

@ -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 {

View File

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

View File

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

View File

@ -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"))
}

View File

@ -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"