From 44579fe04c21b8d7dca5d9b267e81ae8e46515f2 Mon Sep 17 00:00:00 2001 From: Roman / Nea Date: Sun, 16 Jan 2022 00:39:26 +0100 Subject: New buildscript (#59) * Rewrite build.gradle * Fix mixins * Finishing touches on the buildscript * maybe potentially fix a dependency issue that i cant reproduce on my end --- build.gradle | 128 ------------------------------------------------- build.gradle.kts | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++ settings.gradle.kts | 17 +++++++ 3 files changed, 151 insertions(+), 128 deletions(-) delete mode 100644 build.gradle create mode 100644 build.gradle.kts create mode 100644 settings.gradle.kts diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 3258358f..00000000 --- a/build.gradle +++ /dev/null @@ -1,128 +0,0 @@ -buildscript { - repositories { - jcenter() - maven { - name 'JitPack' - url 'https://jitpack.io' - } - maven { url = "https://maven.minecraftforge.net/" } - maven { url = "https://repo.spongepowered.org/maven" } - } - dependencies { - classpath "com.github.asbyth:ForgeGradle:6f53277" - classpath 'com.github.LxGaming:MixinGradle:d75e32e'//0.6-SNAPSHOT' - classpath 'com.github.jengelman.gradle.plugins:shadow:6.1.0' - } -} - -apply plugin: 'java' -apply plugin: "net.minecraftforge.gradle.forge" -apply plugin: 'org.spongepowered.mixin' -apply plugin: 'com.github.johnrengelman.shadow' - -sourceCompatibility = 1.8 -targetCompatibility = 1.8 - -version = "2.1-REL" -group= "io.github.moulberry" -archivesBaseName = "NotEnoughUpdates" -String modid = "notenoughupdates" -String mixinClassifier = "dep" -compileJava.options.encoding = 'UTF-8' - -minecraft { - version = "1.8.9-11.15.1.2318-1.8.9" - runDir = "run" - mappings = "stable_22" -} - -repositories { - jcenter() - maven { url 'https://repo.spongepowered.org/maven/' } - flatDir { - dirs 'deps' - } -} - -dependencies { - compile('org.spongepowered:mixin:0.7.11-SNAPSHOT') - annotationProcessor('org.spongepowered:mixin:0.7.11-SNAPSHOT') - compile('com.fasterxml.jackson.core:jackson-core:2.10.2') - compile('info.bliki.wiki:bliki-core:3.1.0') -} - -mixin { - add sourceSets.main, "mixins.${modid}.refmap.json" -} - -jar { - manifest.attributes( - 'Main-Class': 'NotSkyblockAddonsInstallerFrame', - 'TweakClass': 'org.spongepowered.asm.launch.MixinTweaker', - 'MixinConfigs': "mixins.${modid}.json", - 'FMLCorePluginContainsFMLMod': true, - "ForceLoadAsMod": true, - "FMLAT": 'notenoughupdates_at.cfg' - ) -} - -shadowJar { - dependencies { - include(dependency('org.spongepowered:mixin:0.7.11-SNAPSHOT')) - - include(dependency('commons-io:commons-io')) - include(dependency('org.apache.commons:commons-lang3')) - include(dependency('com.fasterxml.jackson.core:jackson-databind:2.10.2')) - include(dependency('com.fasterxml.jackson.core:jackson-annotations:2.10.2')) - include(dependency('com.fasterxml.jackson.core:jackson-core:2.10.2')) - - include(dependency('info.bliki.wiki:bliki-core:3.1.0')) - include(dependency('org.slf4j:slf4j-api:1.7.18')) - include(dependency('org.luaj:luaj-jse:3.0.1')) - } - - relocate 'com.fasterxml.jackson', 'neu.com.fasterxml.jackson' - relocate 'org.eclipse', 'neu.org.eclipse' - relocate 'org.slf4j', 'neu.org.slf4j' - - exclude 'module-info.class' - exclude 'dummyThing' - exclude 'LICENSE.txt' - - classifier = mixinClassifier -} - -reobf { - shadowJar { - mappingType = 'SEARGE' - } -} - -build.dependsOn(shadowJar) -runClient.dependsOn(build) - -processResources -{ - inputs.property "version", project.version - inputs.property "mcversion", project.minecraft.version - - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' - expand 'version':project.version, 'mcversion':project.minecraft.version - } - - from(sourceSets.main.resources.srcDirs) { - exclude 'mcmod.info' - } - - rename '(.+_at.cfg)', 'META-INF/$1' -} - -task moveResources { - doLast { - ant.move file: "${buildDir}/resources/main", - todir: "${buildDir}/classes/java" - } -} -moveResources.dependsOn processResources -classes.dependsOn moveResources diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 00000000..26a89ab5 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,134 @@ +import net.minecraftforge.gradle.user.ReobfMappingType + +plugins { + java + id("net.minecraftforge.gradle.forge") version "6f5327738df" + id("com.github.johnrengelman.shadow") version "6.1.0" + id("org.spongepowered.mixin") version "d75e32e" +} + +group = "io.github.moulberry" +version = "2.1" + +// Toolchains: + +java { + // Forge Gradle currently prevents using the toolchain: toolchain.languageVersion.set(JavaLanguageVersion.of(8)) + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 +} + +minecraft { + version = "1.8.9-11.15.1.2318-1.8.9" + runDir = "run" + mappings = "stable_22" + clientJvmArgs.addAll( + listOf( + "-Dmixin.debug=true", + "-Dasmhelper.verbose=true" + ) + ) + clientRunArgs.addAll( + listOf( + "--tweakClass org.spongepowered.asm.launch.MixinTweaker", + "--mixin mixins.notenoughupdates.json" + ) + ) +} + +mixin { + add(sourceSets.main.get(), "mixins.notenoughupdates.refmap.json") +} + +// Dependencies: + +repositories { + mavenCentral() + flatDir { dirs("deps/") } + maven("https://repo.spongepowered.org/maven/") +} + +dependencies { + implementation("org.spongepowered:mixin:0.7.11-SNAPSHOT") + annotationProcessor("org.spongepowered:mixin:0.7.11-SNAPSHOT") + implementation("com.fasterxml.jackson.core:jackson-core:2.13.1") + implementation("info.bliki.wiki:bliki-core:3.1.0") +} + + +// Tasks: + +tasks.withType(JavaCompile::class) { + options.encoding = "UTF-8" +} + +tasks.withType(Jar::class) { + archiveBaseName.set("NotEnoughUpdates") + manifest.attributes.run { + this["Main-Class"] = "NotSkyblockAddonsInstallerFrame" + this["TweakClass"] = "org.spongepowered.asm.launch.MixinTweaker" + this["MixinConfigs"] = "mixins.notenoughupdates.json" + this["FMLCorePluginContainsFMLMod"] = "true" + this["ForceLoadAsMod"] = "true" + this["FMLAT"] = "notenoughupdates_at.cfg" + } +} + +tasks.shadowJar { + archiveClassifier.set("dep") + exclude( + "module-info.class", + "LICENSE.txt" + ) + dependencies { + include(dependency("org.spongepowered:mixin:0.7.11-SNAPSHOT")) + + include(dependency("commons-io:commons-io")) + include(dependency("org.apache.commons:commons-lang3")) + include(dependency("com.fasterxml.jackson.core:jackson-databind:2.10.2")) + include(dependency("com.fasterxml.jackson.core:jackson-annotations:2.10.2")) + include(dependency("com.fasterxml.jackson.core:jackson-core:2.10.2")) + + include(dependency("info.bliki.wiki:bliki-core:3.1.0")) + include(dependency("org.slf4j:slf4j-api:1.7.18")) + include(dependency("org.luaj:luaj-jse:3.0.1")) + } + fun relocate(name: String) = relocate(name, "io.github.moulberry.notenoughupdates.deps.$name") + relocate("com.fasterxml.jackson") + relocate("org.eclipse") + relocate("org.slf4j") +} + +tasks.build.get().dependsOn(tasks.shadowJar) + +reobf { + create("shadowJar") { + mappingType = ReobfMappingType.SEARGE + } +} + +tasks.processResources { + from(sourceSets.main.get().resources.srcDirs) + filesMatching("mcmod.info") { + expand( + "version" to project.version, + "mcversion" to minecraft.version + ) + } + rename("(.+_at.cfg)".toPattern(), "META-INF/$1") +} + +val moveResources by tasks.creating { + doLast { + ant.withGroovyBuilder { + "move"( + "file" to "$buildDir/resources/main", + "todir" to "$buildDir/classes/java" + ) + } + } + dependsOn(tasks.processResources) +} + +tasks.classes { dependsOn(moveResources) } + diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 00000000..44138312 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,17 @@ +pluginManagement { + repositories { + mavenCentral() + gradlePluginPortal() + maven(url = "https://jitpack.io/") + maven(url = "https://maven.minecraftforge.net/") + maven(url = "https://repo.spongepowered.org/maven/") + } + resolutionStrategy { + eachPlugin { + when (requested.id.id) { + "net.minecraftforge.gradle.forge" -> useModule("com.github.asbyth:ForgeGradle:${requested.version}") + "org.spongepowered.mixin" -> useModule("com.github.LxGaming:MixinGradle:${requested.version}") + } + } + } +} -- cgit