[build] Switch to gradle.kts and new plugin-based jfmod scripts
This commit is contained in:
parent
00f1a74bc0
commit
5459a313c2
36
build.gradle
36
build.gradle
|
@ -1,36 +0,0 @@
|
|||
apply from: "https://jfmods.gitlab.io/scripts/gradle/v2.gradle"
|
||||
|
||||
allprojects {
|
||||
if (project.name in rootProject.nonModSubprojects) return
|
||||
|
||||
loom {
|
||||
runs {
|
||||
testmodClient {
|
||||
client()
|
||||
ideConfigGenerated project.rootProject == project
|
||||
name = "Testmod Client"
|
||||
source sourceSets.testmod
|
||||
}
|
||||
testmodServer {
|
||||
server()
|
||||
ideConfigGenerated project.rootProject == project
|
||||
name = "Testmod Server"
|
||||
source sourceSets.testmod
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
modLocalRuntime("com.terraformersmc:modmenu:$rootProject.modmenu_version")
|
||||
modLocalRuntime(fabricApi.module("fabric-command-api-v2", "$rootProject.fabric_version"))
|
||||
compileOnly("io.gitlab.jfronny:commons:$rootProject.commons_version")
|
||||
compileOnly("io.gitlab.jfronny:commons-gson:$rootProject.commons_version")
|
||||
}
|
||||
}
|
||||
|
||||
task copyVersionNumber {
|
||||
doLast {
|
||||
java.awt.Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new java.awt.datatransfer.StringSelection("$version"), null)
|
||||
println("Copied version number: $version")
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
plugins {
|
||||
id("jfmod") version "1.0-SNAPSHOT"
|
||||
}
|
||||
|
||||
val nonModSubprojects: List<String> by extra
|
||||
val devOnlyModules: List<String> by extra
|
||||
|
||||
allprojects {
|
||||
if (name in nonModSubprojects) return@allprojects
|
||||
|
||||
dependencies {
|
||||
modLocalRuntime("com.terraformersmc:modmenu:${prop("modmenu_version")}")
|
||||
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")}")
|
||||
}
|
||||
}
|
|
@ -19,4 +19,4 @@ commons_version=2022.9.25+10-22-41
|
|||
modmenu_version=4.0.6
|
||||
|
||||
asm_version=9.4
|
||||
ant_version=1.10.12
|
||||
ant_version=1.10.12
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
archivesBaseName = "libjf-base"
|
||||
|
||||
dependencies {
|
||||
include modImplementation(fabricApi.module("fabric-lifecycle-events-v1", "$rootProject.fabric_version"))
|
||||
shadow "io.gitlab.jfronny:commons:$rootProject.commons_version"
|
||||
shadow "io.gitlab.jfronny:commons-gson:$rootProject.commons_version"
|
||||
shadow "io.gitlab.jfronny:commons-slf4j:$rootProject.commons_version"
|
||||
}
|
||||
|
||||
shadowJar {
|
||||
dependencies {
|
||||
exclude(dependency('org.slf4j:slf4j-api'))
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
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")}") {
|
||||
isTransitive = false
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
archivesBaseName = "libjf-config-reflect-v0"
|
||||
|
||||
dependencies {
|
||||
api project(path: ":libjf-base", configuration: "dev")
|
||||
api project(path: ":libjf-config-core-v1", configuration: "dev")
|
||||
include modImplementation(fabricApi.module("fabric-command-api-v2", "${project.fabric_version}"))
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
base {
|
||||
archivesName.set("libjf-config-commands-v1")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(devProject(":libjf-base"))
|
||||
api(devProject(":libjf-config-core-v1"))
|
||||
include(modImplementation(fabricApi.module("fabric-command-api-v2", prop("fabric_version")))!!)
|
||||
}
|
|
@ -1,67 +0,0 @@
|
|||
plugins {
|
||||
id 'java-gradle-plugin'
|
||||
id 'maven-publish'
|
||||
}
|
||||
|
||||
group project.maven_group
|
||||
version rootProject.ext.currentVer
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven {
|
||||
name = 'JF Commons'
|
||||
url = 'https://gitlab.com/api/v4/projects/35745143/packages/maven'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly(gradleApi())
|
||||
implementation("org.apache.ant:ant:$rootProject.ant_version")
|
||||
implementation("io.gitlab.jfronny:commons-gson:$rootProject.commons_version")
|
||||
implementation("org.ow2.asm:asm:$rootProject.asm_version")
|
||||
implementation("org.ow2.asm:asm-commons:$rootProject.asm_version")
|
||||
implementation(project(":libjf-config-core-v1")) {
|
||||
transitive(false)
|
||||
}
|
||||
}
|
||||
|
||||
gradlePlugin {
|
||||
plugins {
|
||||
simplePlugin {
|
||||
id = "io.gitlab.jfronny.libjf.libjf-config-compiler-plugin"
|
||||
implementationClass = "io.gitlab.jfronny.libjf.config.plugin.ConfigPlugin"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
repositories {
|
||||
mavenLocal()
|
||||
|
||||
if (project.hasProperty("maven")) {
|
||||
maven {
|
||||
url = project.getProperty("maven")
|
||||
name = "dynamic"
|
||||
|
||||
credentials(HttpHeaderCredentials) {
|
||||
name = "Job-Token"
|
||||
value = System.getenv().CI_JOB_TOKEN
|
||||
}
|
||||
authentication {
|
||||
header(HttpHeaderAuthentication)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.publish.dependsOn(tasks.build)
|
||||
rootProject.tasks.deployDebug.dependsOn(tasks.publish)
|
||||
|
||||
java.nio.file.Files.writeString(java.nio.file.Path.of("$projectDir/src/main/java/io/gitlab/jfronny/libjf/config/plugin/BuildMetadata.java"), """
|
||||
package io.gitlab.jfronny.libjf.config.plugin;
|
||||
|
||||
public class BuildMetadata {
|
||||
public static final boolean isRelease = ${project.hasProperty("release")};
|
||||
}
|
||||
""")
|
|
@ -0,0 +1,47 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
plugins {
|
||||
id("java-gradle-plugin")
|
||||
id("jf.maven-publish")
|
||||
}
|
||||
|
||||
group = rootProject.group
|
||||
version = rootProject.version
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven {
|
||||
name = "JF Commons"
|
||||
url = uri("https://gitlab.com/api/v4/projects/35745143/packages/maven")
|
||||
}
|
||||
maven("https://maven.fabricmc.net/")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly(gradleApi())
|
||||
implementation("org.apache.ant:ant:${prop("ant_version")}")
|
||||
implementation("io.gitlab.jfronny:commons-gson:${prop("commons_version")}")
|
||||
implementation("org.ow2.asm:asm:${prop("asm_version")}")
|
||||
implementation("org.ow2.asm:asm-commons:${prop("asm_version")}")
|
||||
implementation(project(":libjf-config-core-v1")) { isTransitive = false }
|
||||
}
|
||||
|
||||
gradlePlugin {
|
||||
plugins {
|
||||
create("simplePlugin") {
|
||||
id = "io.gitlab.jfronny.libjf.libjf-config-compiler-plugin"
|
||||
implementationClass = "io.gitlab.jfronny.libjf.config.plugin.ConfigPlugin"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.publish.get().dependsOn(tasks.build.get())
|
||||
rootProject.tasks.deployDebug.dependsOn(tasks.publish.get())
|
||||
|
||||
projectDir.resolve("src/main/java/io/gitlab/jfronny/libjf/config/plugin/BuildMetadata.java").writeText("""
|
||||
package io.gitlab.jfronny.libjf.config.plugin;
|
||||
|
||||
public class BuildMetadata {
|
||||
public static final boolean isRelease = ${project.hasProperty("release")};
|
||||
}
|
||||
""".trimIndent())
|
|
@ -1,5 +0,0 @@
|
|||
archivesBaseName = "libjf-config-core-v1"
|
||||
|
||||
dependencies {
|
||||
api project(path: ":libjf-base", configuration: "dev")
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
base {
|
||||
archivesName.set("libjf-config-core-v1")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(devProject(":libjf-base"))
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
archivesBaseName = "libjf-config-legacy-shim"
|
||||
|
||||
dependencies {
|
||||
api project(path: ":libjf-base", configuration: "dev")
|
||||
api project(path: ":libjf-config-core-v1", configuration: "dev")
|
||||
api project(path: ":libjf-config-commands-v1", configuration: "dev")
|
||||
api project(path: ":libjf-config-reflect-v1", configuration: "dev")
|
||||
api project(path: ":libjf-config-ui-tiny-v1", configuration: "dev")
|
||||
api project(path: ":libjf-unsafe-v0", configuration: "dev")
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
base {
|
||||
archivesName.set("libjf-config-legacy-shim")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(devProject(":libjf-base"))
|
||||
api(devProject(":libjf-config-core-v1"))
|
||||
api(devProject(":libjf-config-commands-v1"))
|
||||
api(devProject(":libjf-config-reflect-v1"))
|
||||
api(devProject(":libjf-config-ui-tiny-v1"))
|
||||
api(devProject(":libjf-unsafe-v0"))
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
archivesBaseName = "libjf-config-reflect-v1"
|
||||
|
||||
dependencies {
|
||||
api project(path: ":libjf-base", configuration: "dev")
|
||||
api project(path: ":libjf-unsafe-v0", configuration: "dev")
|
||||
api project(path: ":libjf-config-core-v1", configuration: "dev")
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
base {
|
||||
archivesName.set("libjf-config-reflect-v1")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(devProject(":libjf-base"))
|
||||
api(devProject(":libjf-unsafe-v0"))
|
||||
api(devProject(":libjf-config-core-v1"))
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
archivesBaseName = "libjf-config-ui-tiny-v1"
|
||||
|
||||
dependencies {
|
||||
api project(path: ":libjf-base", configuration: "dev")
|
||||
api project(path: ":libjf-config-core-v1", configuration: "dev")
|
||||
include fabricApi.module("fabric-resource-loader-v0", "${project.fabric_version}")
|
||||
modCompileOnly("com.terraformersmc:modmenu:$rootProject.modmenu_version")
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
base {
|
||||
archivesName.set("libjf-config-ui-tiny-v1")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(devProject(":libjf-base"))
|
||||
api(devProject(":libjf-config-core-v1"))
|
||||
include(fabricApi.module("fabric-resource-loader-v0", prop("fabric_version")))
|
||||
modCompileOnly("com.terraformersmc:modmenu:${prop("modmenu_version")}")
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
archivesBaseName = "libjf-data-manipulation-v0"
|
||||
|
||||
dependencies {
|
||||
api project(path: ":libjf-base", configuration: "dev")
|
||||
api project(path: ":libjf-unsafe-v0", configuration: "dev")
|
||||
modApi(fabricApi.module("fabric-api-base", "$rootProject.fabric_version"))
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
base {
|
||||
archivesName.set("libjf-data-manipulation-v0")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(devProject(":libjf-base"))
|
||||
api(devProject(":libjf-unsafe-v0"))
|
||||
modApi(fabricApi.module("fabric-api-base", prop("fabric_version")))
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
archivesBaseName = "libjf-data-v0"
|
||||
|
||||
dependencies {
|
||||
api project(path: ":libjf-base", configuration: "dev")
|
||||
include fabricApi.module("fabric-resource-loader-v0", "${project.fabric_version}")
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
base {
|
||||
archivesName.set("libjf-data-v0")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(devProject(":libjf-base"))
|
||||
include(fabricApi.module("fabric-resource-loader-v0", prop("fabric_version")))
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
archivesBaseName = "libjf-devutil-v0"
|
||||
|
||||
dependencies {
|
||||
api project(path: ":libjf-base", configuration: "dev")
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
base {
|
||||
archivesName.set("libjf-devutil")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(devProject(":libjf-base"))
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"schemaVersion": 1,
|
||||
"id": "libjf-devutil-v0",
|
||||
"id": "libjf-devutil",
|
||||
"name": "LibJF Development Util",
|
||||
"version": "${version}",
|
||||
"authors": [
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
archivesBaseName = "libjf-translate-v1"
|
||||
|
||||
dependencies {
|
||||
api project(path: ":libjf-base", configuration: "dev")
|
||||
api project(path: ":libjf-config-core-v1", configuration: "dev")
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
base {
|
||||
archivesName.set("libjf-translate-v1")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(devProject(":libjf-base"))
|
||||
api(devProject(":libjf-config-core-v1"))
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
archivesBaseName = "libjf-unsafe-v0"
|
||||
|
||||
dependencies {
|
||||
api project(path: ":libjf-base", configuration: "dev")
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
base {
|
||||
archivesName.set("libjf-unsafe-v0")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(devProject(":libjf-base"))
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
archivesBaseName = "libjf-web-v0"
|
||||
|
||||
dependencies {
|
||||
api project(path: ":libjf-base", configuration: "dev")
|
||||
api project(path: ":libjf-config-core-v1", configuration: "dev")
|
||||
include modImplementation(fabricApi.module("fabric-command-api-v2", "${rootProject.fabric_version}"))
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
import io.gitlab.jfronny.scripts.*
|
||||
|
||||
base {
|
||||
archivesName.set("libjf-web-v0")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(devProject(":libjf-base"))
|
||||
api(devProject(":libjf-config-core-v1"))
|
||||
include(modImplementation(fabricApi.module("fabric-command-api-v2", prop("fabric_version")))!!)
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
pluginManagement {
|
||||
repositories {
|
||||
maven {
|
||||
name = 'Fabric'
|
||||
url = 'https://maven.fabricmc.net/'
|
||||
}
|
||||
gradlePluginPortal()
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = "libjf"
|
||||
|
||||
include 'libjf-base'
|
||||
|
||||
include 'libjf-config-core-v1'
|
||||
include 'libjf-config-reflect-v1'
|
||||
include 'libjf-config-commands-v1'
|
||||
include 'libjf-config-ui-tiny-v1'
|
||||
include 'libjf-config-legacy-shim'
|
||||
include 'libjf-data-v0'
|
||||
include 'libjf-data-manipulation-v0'
|
||||
include 'libjf-devutil'
|
||||
include 'libjf-translate-v1'
|
||||
include 'libjf-unsafe-v0'
|
||||
include 'libjf-web-v0'
|
||||
|
||||
include 'libjf-config-compiler-plugin'
|
|
@ -0,0 +1,26 @@
|
|||
pluginManagement {
|
||||
repositories {
|
||||
maven("https://maven.fabricmc.net/") // FabricMC
|
||||
maven("https://gitlab.com/api/v4/projects/32776914/packages/maven") // CurseGradle
|
||||
maven("https://gitlab.com/api/v4/projects/31672498/packages/maven") // scripts
|
||||
gradlePluginPortal()
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = "libjf"
|
||||
|
||||
include("libjf-base")
|
||||
|
||||
include("libjf-config-core-v1")
|
||||
include("libjf-config-reflect-v1")
|
||||
include("libjf-config-commands-v1")
|
||||
include("libjf-config-ui-tiny-v1")
|
||||
include("libjf-config-legacy-shim")
|
||||
include("libjf-data-v0")
|
||||
include("libjf-data-manipulation-v0")
|
||||
include("libjf-devutil")
|
||||
include("libjf-translate-v1")
|
||||
include("libjf-unsafe-v0")
|
||||
include("libjf-web-v0")
|
||||
|
||||
include("libjf-config-compiler-plugin")
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"schemaVersion": 1,
|
||||
"id": "libjf-testmod",
|
||||
"version": "1.0",
|
||||
"environment": "*"
|
||||
}
|
Loading…
Reference in New Issue