From 2212f78228973dd2a191d8625d2c76d053524423 Mon Sep 17 00:00:00 2001 From: FalsePattern Date: Thu, 28 Dec 2023 22:39:26 +0100 Subject: [PATCH] update buildscript and deps --- build.gradle | 129 ++++++++++++++++++++++++++++---------------- dependencies.gradle | 2 +- 2 files changed, 85 insertions(+), 46 deletions(-) diff --git a/build.gradle b/build.gradle index e4697bc..f84c2cb 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1656003793falsepattern67 +//version: 1656003793falsepattern74 /* DO NOT CHANGE THIS FILE! @@ -132,6 +132,8 @@ propertyDefaultIfUnset("mixinConfigs", "") propertyDefaultIfUnset("mixinPluginPreInit", "") propertyDefaultIfUnset("mixinPluginMinimumVersion", "0.8.5") propertyDefaultIfUnset("remapStubs", false) +propertyDefaultIfUnset("apiPackages", null) +propertyDefaultIfUnset("apiPackagesNoRecurse", null) propertyDefaultIfUnset("modrinthProjectId", "") propertyDefaultIfUnset("modrinthDependencies", "") @@ -147,20 +149,31 @@ String javaSourceDir = "src/main/java/" String scalaSourceDir = "src/main/scala/" String kotlinSourceDir = "src/main/kotlin/" -String targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") -String targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") -String targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") -if(!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { - throw new GradleException("Could not resolve \"modGroup\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) +def verifyPackage(thePackage, propName) { + String javaSourceDir = "src/main/java/" + String scalaSourceDir = "src/main/scala/" + String kotlinSourceDir = "src/main/kotlin/" + String targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + thePackage.toString().replaceAll("\\.", "/") + String targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + thePackage.toString().replaceAll("\\.", "/") + String targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + thePackage.toString().replaceAll("\\.", "/") + if(!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { + throw new GradleException("Could not resolve \"${propName}\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) + } } +verifyPackage("", "modGroup") + if(apiPackage) { - targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") - targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") - targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") - if(!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { - throw new GradleException("Could not resolve \"apiPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) - } + verifyPackage(apiPackage, "apiPackage") +} + + +if (apiPackages) { + apiPackages.tokenize(';').forEach { it -> verifyPackage(it, "apiPackages")} +} + +if (apiPackagesNoRecurse) { + apiPackagesNoRecurse.tokenize(';').forEach { it -> verifyPackage(it, "apiPackagesNoRecurse")} } if(accessTransformersFile) { @@ -175,9 +188,9 @@ if(usesMixins.toBoolean()) { throw new GradleException("\"usesMixins\" requires \"mixinsPackage\" to be set!") } - targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") - targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") - targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") + String targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") + String targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") + String targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") if(!(getFile(targetPackageJava).exists() || getFile(targetPackageScala).exists() || getFile(targetPackageKotlin).exists())) { throw new GradleException("Could not resolve \"mixinsPackage\"! Could not find " + targetPackageJava + " or " + targetPackageScala + " or " + targetPackageKotlin) } @@ -281,6 +294,10 @@ if(file("addon.gradle").exists()) { apply from: 'repositories.gradle' +if(file('repositories_override.gradle').exists()) { + apply from: 'repositories_override.gradle' +} + configurations { for (config in [shadowImplementation, shadowCompile, shadeCompile]) { implementation.extendsFrom(shadeCompile) @@ -305,36 +322,52 @@ repositories { name = "sponge2" url = "https://mvn.falsepattern.com/sponge" } + maven { + name = "jitpack" + url = "https://mvn.falsepattern.com/jitpack/" + } } } +def unimixinsVersion = "0.1.15" + dependencies { if(usesMixins.toBoolean()) { annotationProcessor("org.ow2.asm:asm-debug-all:5.0.3") annotationProcessor("com.google.guava:guava:24.1.1-jre") annotationProcessor("com.google.code.gson:gson:2.8.6") - annotationProcessor("com.llamalad7:MixinExtras:0.1.1-gasstation") - annotationProcessor("org.spongepowered:mixin:0.8.5-gasstation_7") - compile("org.spongepowered:mixin:0.8.5-gasstation_7") - compile("com.llamalad7:MixinExtras:0.1.1-gasstation") - compile("com.falsepattern:00gasstation-mc1.7.10:0.5.1:dev") - runtimeClasspath('org.jetbrains:intellij-fernflower:1.2.1.16') - testRuntimeClasspath('org.jetbrains:intellij-fernflower:1.2.1.16') + annotationProcessor("com.github.LegacyModdingMC.UniMixins:unimixins-all-1.7.10:$unimixinsVersion:dev") + implementation("com.github.LegacyModdingMC.UniMixins:unimixins-all-1.7.10:$unimixinsVersion:dev") + runtimeOnly('org.jetbrains:intellij-fernflower:1.2.1.16') } else if(hasMixinDeps.toBoolean()) { - runtime("com.llamalad7:MixinExtras:0.1.1-gasstation") - runtime("org.spongepowered:mixin:0.8.5-gasstation_7") - runtime("com.falsepattern:00gasstation-mc1.7.10:0.5.1:dev") + runtimeOnly("com.github.LegacyModdingMC.UniMixins:unimixins-all-1.7.10:$unimixinsVersion:dev") } // Latest LWJGL - compile "org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209" - compile "org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209" + implementation "org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209" + implementation "org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209" minecraftNatives "org.lwjgl.lwjgl:lwjgl-platform:2.9.4-nightly-20150209" minecraftDeps "org.lwjgl.lwjgl:lwjgl:2.9.4-nightly-20150209" minecraftDeps "org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209" } + +if(usesMixins.toBoolean()) { + configurations.implementation.dependencies.each { + if (it instanceof ExternalModuleDependency) { + it.exclude module: "SpongeMixins" + it.exclude module: "SpongePoweredMixin" + it.exclude module: "00gasstation-mc1.7.10" + it.exclude module: "gtnhmixins" + } + } +} + apply from: 'dependencies.gradle' +if(file('dependencies_override.gradle').exists()) { + apply from: 'dependencies_override.gradle' +} + def mixinDir = new File(project.buildDir, 'mixins') if (!mixinDir.exists()) { mixinDir.mkdirs() @@ -425,12 +458,6 @@ runClient { def arguments = [] def jvmArguments = [] - if (usesMixins.toBoolean()) { - arguments += [ - "--mods=" + Paths.get("$projectDir").resolve(minecraft.runDir).normalize().relativize(Paths.get("$projectDir/build/libs/$archivesBaseName-${version}.jar")) - ] - } - if(usesMixins.toBoolean() || hasMixinDeps.toBoolean()) { arguments += [ "--tweakClass", "org.spongepowered.asm.launch.MixinTweaker" @@ -455,12 +482,6 @@ runServer { def arguments = [] def jvmArguments = [] - if (usesMixins.toBoolean()) { - arguments += [ - "--mods=" + Paths.get("$projectDir").resolve(minecraft.runDir).normalize().relativize(Paths.get("$projectDir/build/libs/$archivesBaseName-${version}.jar")) - ] - } - if (usesMixins.toBoolean() || hasMixinDeps.toBoolean()) { arguments += [ "--tweakClass", "org.spongepowered.asm.launch.MixinTweaker" @@ -602,11 +623,29 @@ task devJar(type: Jar) { task apiJar(type: Jar) { from (sourceSets.main.allSource) { - include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + if (apiPackage) + include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + if (apiPackages) + apiPackages.tokenize(';').forEach { pkg -> + include modGroup.toString().replaceAll("\\.", "/") + "/" + pkg.toString().replaceAll("\\.", "/") + '/**' + } + if (apiPackagesNoRecurse) + apiPackagesNoRecurse.tokenize(';').forEach { pkg -> + include modGroup.toString().replaceAll("\\.", "/") + "/" + pkg.toString().replaceAll("\\.", "/") + '/*' + } } from (sourceSets.main.output) { - include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + if (apiPackage) + include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + if (apiPackages) + apiPackages.tokenize(';').forEach { pkg -> + include modGroup.toString().replaceAll("\\.", "/") + "/" + pkg.toString().replaceAll("\\.", "/") + '/**' + } + if (apiPackagesNoRecurse) + apiPackagesNoRecurse.tokenize(';').forEach { pkg -> + include modGroup.toString().replaceAll("\\.", "/") + "/" + pkg.toString().replaceAll("\\.", "/") + '/*' + } } from (sourceSets.main.resources.srcDirs) { @@ -627,7 +666,7 @@ compileJava.dependsOn(copySrgs) artifacts { archives sourcesJar archives devJar - if(apiPackage) { + if(apiPackage || apiPackages || apiPackagesNoRecurse) { archives apiJar } } @@ -683,7 +722,7 @@ publishing { artifact source: sourcesJar, classifier: "sources" } artifact source: usesShadowedDependencies.toBoolean() ? shadowDevJar : devJar, classifier: "dev" - if (apiPackage) { + if (apiPackage || apiPackages || apiPackagesNoRecurse) { artifact source: apiJar, classifier: "api" } @@ -777,7 +816,7 @@ if (curseForgeProjectId != "" && System.getenv("CURSEFORGE_TOKEN") != null) { } if (usesMixins.toBoolean()) { - addCurseForgeRelation("requiredDependency", "gasstation") + addCurseForgeRelation("requiredDependency", "unimixins") } tasks.curseforge.dependsOn(build) tasks.publish.dependsOn(tasks.curseforge) @@ -810,7 +849,7 @@ if (modrinthProjectId != "" && System.getenv("MODRINTH_TOKEN") != null) { } } if (usesMixins.toBoolean()) { - addModrinthDep("required", "project", "cdeAhgfp") + addModrinthDep("required", "project", "ghjoiQAl") } tasks.modrinth.dependsOn(build) tasks.publish.dependsOn(tasks.modrinth) diff --git a/dependencies.gradle b/dependencies.gradle index b2bb2fc..e7619f1 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -4,7 +4,7 @@ dependencies { } annotationProcessor("org.projectlombok:lombok:1.18.28") - implementation("com.falsepattern:falsepatternlib-mc1.7.10:0.12.5:dev") + implementation("com.falsepattern:falsepatternlib-mc1.7.10:1.0.0:dev") compileOnly("org.jetbrains:annotations:24.0.1")