From b4f18c1e1deea741da6889688357e2a6ae4e93e9 Mon Sep 17 00:00:00 2001 From: octarine-noise Date: Fri, 3 Jan 2020 21:36:46 +0100 Subject: [PATCH] switch to Gradle Kotlin DSL --- build.gradle | 99 ------------------------ build.gradle.kts | 63 +++++++++++++++ gradle.properties | 12 ++- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 2 - settings.gradle.kts | 13 ++++ 6 files changed, 82 insertions(+), 109 deletions(-) delete mode 100644 build.gradle create mode 100644 build.gradle.kts delete mode 100644 settings.gradle create mode 100644 settings.gradle.kts diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 51fed21..0000000 --- a/build.gradle +++ /dev/null @@ -1,99 +0,0 @@ -buildscript { - repositories { - mavenLocal() - mavenCentral() - jcenter() - maven { - name = "forge" - url = "http://files.minecraftforge.net/maven" - } - maven { - name = 'sponge' - url = 'https://repo.spongepowered.org/maven' - } - } - dependencies { - classpath(group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true) { - exclude group: 'trove', module: 'trove' - } - classpath 'org.spongepowered:mixingradle:0.7-SNAPSHOT' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} -apply plugin: "net.minecraftforge.gradle" -apply plugin: 'org.spongepowered.mixin' -apply plugin: 'kotlin' - -sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' - -repositories { - mavenCentral() - jcenter() - maven { - name = "forge" - url = "http://files.minecraftforge.net/maven" - } - maven { - name = 'Curse' - url = 'https://minecraft.curseforge.com/api/maven/' - } - maven { - name = 'sponge' - url = 'https://repo.spongepowered.org/maven' - } -} - -dependencies { - minecraft "net.minecraftforge:forge:$mc_version-$forge_version" - implementation "kottle:Kottle:$kottle_version" - implementation "org.spongepowered:mixin:0.8-SNAPSHOT" -} - -mixin { - add sourceSets.main, "betterfoliage.refmap.json" -} - -minecraft { - mappings channel: "$mcp_mappings_channel", version: "$mcp_mappings_version" - accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') - - runs { - client { - workingDirectory project.file('run') - property 'forge.logging.markers', 'CORE' - property 'forge.logging.console.level', 'debug' - mods { - betterfoliage { - source sourceSets.main - } - } - } - - server { - workingDirectory project.file('run') - property 'forge.logging.markers', 'CORE' - property 'forge.logging.console.level', 'debug' - mods { - betterfoliage { - source sourceSets.main - } - } - } - } -} - -compileKotlin { - kotlinOptions { - freeCompilerArgs += ("-Xno-param-assertions") - freeCompilerArgs += ("-Xno-call-assertions") - } -} - -jar { - archiveName = "BetterFoliage-${version}-Forge-${mc_version}.jar" - - manifest { - from "src/main/resources/META-INF/MANIFEST.MF" - attributes "Implementation-Version": "${version}" - } -} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..505e1f6 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,63 @@ +plugins { + kotlin("jvm").version("1.3.61") + id("net.minecraftforge.gradle").version("3.0.157") + id("org.spongepowered.mixin").version("0.7-SNAPSHOT") +} + +repositories { + maven("http://files.minecraftforge.net/maven") + maven("https://repo.spongepowered.org/maven") + maven("https://minecraft.curseforge.com/api/maven") +} + +dependencies { + "minecraft"("net.minecraftforge:forge:${properties["mcVersion"]}-${properties["forgeVersion"]}") + + "implementation"("kottle:Kottle:${properties["kottleVersion"]}") + "implementation"("org.spongepowered:mixin:0.8-SNAPSHOT") +} + +sourceSets { + get("main").resources.srcDir("src/forge/resources") + get("main").java.srcDir("src/forge/java") +} +kotlin.sourceSets { + get("main").kotlin.srcDir("src/forge/kotlin") +} + +minecraft { + mappings(properties["mappingsChannel"] as String, properties["mappingsVersion"] as String) + accessTransformer(file("src/main/resources/META-INF/accesstransformer.cfg")) + + runs.create("client") { + workingDirectory(file("run")) + properties["forge.logging.markers"] = "CORE" + properties["forge.logging.console.level"] = "debug" + mods.create("betterfoliage") { + source(sourceSets["main"]) + } + } +} + +mixin { + add(sourceSets["main"], "betterfoliage.refmap.json") +} + +java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} + +kotlin { + target.compilations.configureEach { + kotlinOptions.freeCompilerArgs += listOf("-Xno-param-assertions", "-Xno-call-assertions") + } +} + +tasks.getByName("jar") { + archiveName = "BetterFoliage-${project.version}-Forge-${properties["mcVersion"]}.jar" + manifest { + from(file("src/main/resources/META-INF/MANIFEST.MF")) + attributes["Implementation-Version"] = project.version + } +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index d5df2a8..ee1f9d9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,11 +5,9 @@ jarName = BetterFoliage-Forge version = 2.3.1 -mc_version = 1.14.4 -forge_version = 28.1.109 -mcp_mappings_channel = snapshot -mcp_mappings_version = 20190719-1.14.3 +mcVersion = 1.14.4 +forgeVersion = 28.1.109 +mappingsChannel = snapshot +mappingsVersion = 20190719-1.14.3 -kotlin_version = 1.3.61 -forgelin_version = 1.8.4 -kottle_version = 1.4.0 +kottleVersion = 1.4.0 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7dc503f..8d58bda 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 75d2e73..0000000 --- a/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ -rootProject.name = 'BetterFoliage' - diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..080fa38 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,13 @@ +pluginManagement { + repositories { + maven("http://files.minecraftforge.net/maven") + maven("https://repo.spongepowered.org/maven") + gradlePluginPortal() + } + resolutionStrategy { + eachPlugin { + if (requested.id.let { it.namespace == "net.minecraftforge" && it.name == "gradle"} ) useModule("net.minecraftforge.gradle:ForgeGradle:${requested.version}") + if (requested.id.let { it.namespace == "org.spongepowered" && it.name == "mixin"} ) useModule("org.spongepowered:mixingradle:${requested.version}") + } + } +}