diff options
| author | Jakub <53441451+kuba6000@users.noreply.github.com> | 2022-11-12 23:22:56 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-12 23:22:56 +0100 |
| commit | 24a9953b153529191c855af0ae2d10f35844095f (patch) | |
| tree | 558e44b2d4004a43ad566e4c00f5dd543e8066c6 | |
| parent | f10933c7b164cce3a9b43273c6a1b532b2cdd3db (diff) | |
| download | GT5-Unofficial-24a9953b153529191c855af0ae2d10f35844095f.tar.gz GT5-Unofficial-24a9953b153529191c855af0ae2d10f35844095f.tar.bz2 GT5-Unofficial-24a9953b153529191c855af0ae2d10f35844095f.zip | |
Move to GTNH Mixins (#33)
* Update build.gradle
* gtnhmixins
* Update build.gradle
* Update dependencies.gradle
* ?
* Update build.gradle
* Roll back to fix mixins issues
| -rw-r--r-- | build.gradle | 116 | ||||
| -rw-r--r-- | dependencies.gradle | 30 | ||||
| -rw-r--r-- | src/main/java/kubatech/kubatech.java | 2 | ||||
| -rw-r--r-- | src/main/java/kubatech/mixin/MixinPlugin.java | 4 |
4 files changed, 80 insertions, 72 deletions
diff --git a/build.gradle b/build.gradle index 252dac4ea1..cd469ab530 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,8 @@ -//version: 1662920829 +//version: 1667597057 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. - Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates. + Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/master/build.gradle for updates. */ @@ -45,7 +45,7 @@ buildscript { } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.9' + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.11' } } plugins { @@ -147,17 +147,21 @@ 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("\\.", "/") + +final String modGroupPath = modGroup.toString().replaceAll("\\.", "/") +final String apiPackagePath = apiPackage.toString().replaceAll("\\.", "/") + +String targetPackageJava = javaSourceDir + modGroupPath +String targetPackageScala = scalaSourceDir + modGroupPath +String targetPackageKotlin = kotlinSourceDir + modGroupPath 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) } 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("\\.", "/") + targetPackageJava = javaSourceDir + modGroupPath + "/" + apiPackagePath + targetPackageScala = scalaSourceDir + modGroupPath + "/" + apiPackagePath + targetPackageKotlin = kotlinSourceDir + modGroupPath + "/" + apiPackagePath 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) } @@ -171,31 +175,36 @@ if (accessTransformersFile) { } if (usesMixins.toBoolean()) { - if (mixinsPackage.isEmpty() || mixinPlugin.isEmpty()) { - throw new GradleException("\"mixinPlugin\" requires \"mixinsPackage\" and \"mixinPlugin\" to be set!") + if (mixinsPackage.isEmpty()) { + throw new GradleException("\"usesMixins\" requires \"mixinsPackage\" to be set!") } + final String mixinPackagePath = mixinsPackage.toString().replaceAll("\\.", "/") + final String mixinPluginPath = mixinPlugin.toString().replaceAll("\\.", "/") - targetPackageJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") - targetPackageScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") - targetPackageKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinsPackage.toString().replaceAll("\\.", "/") + targetPackageJava = javaSourceDir + modGroupPath + "/" + mixinPackagePath + targetPackageScala = scalaSourceDir + modGroupPath + "/" + mixinPackagePath + targetPackageKotlin = kotlinSourceDir + modGroupPath + "/" + mixinPackagePath 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) } - String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java" - String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".scala" - String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".java" - String targetFileKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + mixinPlugin.toString().replaceAll("\\.", "/") + ".kt" - if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { - throw new GradleException("Could not resolve \"mixinPlugin\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin) + if (!mixinPlugin.isEmpty()) { + String targetFileJava = javaSourceDir + modGroupPath + "/" + mixinPluginPath + ".java" + String targetFileScala = scalaSourceDir + modGroupPath + "/" + mixinPluginPath + ".scala" + String targetFileScalaJava = scalaSourceDir + modGroupPath + "/" + mixinPluginPath + ".java" + String targetFileKotlin = kotlinSourceDir + modGroupPath + "/" + mixinPluginPath + ".kt" + if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { + throw new GradleException("Could not resolve \"mixinPlugin\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin) + } } } if (coreModClass) { - String targetFileJava = javaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java" - String targetFileScala = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".scala" - String targetFileScalaJava = scalaSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".java" - String targetFileKotlin = kotlinSourceDir + modGroup.toString().replaceAll("\\.", "/") + "/" + coreModClass.toString().replaceAll("\\.", "/") + ".kt" + final String coreModPath = coreModClass.toString().replaceAll("\\.", "/") + String targetFileJava = javaSourceDir + modGroupPath + "/" + coreModPath + ".java" + String targetFileScala = scalaSourceDir + modGroupPath + "/" + coreModPath + ".scala" + String targetFileScalaJava = scalaSourceDir + modGroupPath + "/" + coreModPath + ".java" + String targetFileKotlin = kotlinSourceDir + modGroupPath + "/" + coreModPath + ".kt" if (!(getFile(targetFileJava).exists() || getFile(targetFileScala).exists() || getFile(targetFileScalaJava).exists() || getFile(targetFileKotlin).exists())) { throw new GradleException("Could not resolve \"coreModClass\"! Could not find " + targetFileJava + " or " + targetFileScala + " or " + targetFileScalaJava + " or " + targetFileKotlin) } @@ -251,7 +260,7 @@ if (project.hasProperty("customArchiveBaseName") && customArchiveBaseName) { def arguments = [] def jvmArguments = [] -if (usesMixins.toBoolean() || forceEnableMixins) { +if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { arguments += [ "--tweakClass org.spongepowered.asm.launch.MixinTweaker" ] @@ -316,13 +325,10 @@ repositories { name 'Overmind forge repo mirror' url 'https://gregtech.overminddl1.com/' } - if (usesMixins.toBoolean() || forceEnableMixins) { + if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { maven { - name 'sponge' - url 'https://repo.spongepowered.org/repository/maven-public' - } - maven { - url 'https://jitpack.io' + name = "GTNH Maven" + url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" } } } @@ -332,19 +338,10 @@ dependencies { 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('org.spongepowered:mixin:0.8-SNAPSHOT') - } - if (usesMixins.toBoolean() || forceEnableMixins) { - // using 0.8 to workaround a issue in 0.7 which fails mixin application - compile('com.github.GTNewHorizons:SpongePoweredMixin:0.7.12-GTNH') { - // Mixin includes a lot of dependencies that are too up-to-date - exclude module: 'launchwrapper' - exclude module: 'guava' - exclude module: 'gson' - exclude module: 'commons-io' - exclude module: 'log4j-core' - } - compile('com.github.GTNewHorizons:SpongeMixins:1.5.0') + annotationProcessor('org.spongepowered:mixin:0.8.5-GTNH:processor') + } + if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { + compile('com.gtnewhorizon:gtnhmixins:2.0.2') } } @@ -356,13 +353,18 @@ def mixinSrg = "${tasks.reobf.temporaryDir}" + File.separator + "mixins.srg" task generateAssets { if (usesMixins.toBoolean()) { - def mixinConfigFile = getFile("/src/main/resources/mixins." + modId + ".json"); + def mixinConfigFile = getFile("/src/main/resources/mixins." + modId + ".json") if (!mixinConfigFile.exists()) { + def mixinPluginLine = "" + if(!mixinPlugin.isEmpty()) { + // We might not have a mixin plugin if we're using early/late mixins + mixinPluginLine += """\n "plugin": "${modGroup}.${mixinPlugin}", """ + } + mixinConfigFile.text = """{ "required": true, - "minVersion": "0.7.11", - "package": "${modGroup}.${mixinsPackage}", - "plugin": "${modGroup}.${mixinPlugin}", + "minVersion": "0.8.5-GTNH", + "package": "${modGroup}.${mixinsPackage}",${mixinPluginLine} "refmap": "${mixingConfigRefMap}", "target": "@env(DEFAULT)", "compatibilityLevel": "JAVA_8", @@ -574,11 +576,11 @@ task devJar(type: Jar) { task apiJar(type: Jar) { from(sourceSets.main.allSource) { - include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + include modGroupPath + "/" + apiPackagePath + '/**' } from(sourceSets.main.output) { - include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**' + include modGroupPath + "/" + apiPackagePath + '/**' } from(sourceSets.main.resources.srcDirs) { @@ -662,10 +664,10 @@ publishing { } } -if (modrinthProjectId.size() != 0) { +if (modrinthProjectId.size() != 0 && System.getenv("MODRINTH_TOKEN") != null) { apply plugin: 'com.modrinth.minotaur' - File changelogFile = new File("CHANGELOG.md") + File changelogFile = new File(System.getenv("CHANGELOG_FILE") ?: "CHANGELOG.md") modrinth { token = System.getenv("MODRINTH_TOKEN") @@ -691,14 +693,17 @@ if (modrinthProjectId.size() != 0) { addModrinthDep(qual[0], qual[1], parts[1]) } } + if (usesMixins.toBoolean()) { + addModrinthDep("required", "version", "gtnhmixins") + } tasks.modrinth.dependsOn(build) tasks.publish.dependsOn(tasks.modrinth) } -if (curseForgeProjectId.size() != 0) { +if (curseForgeProjectId.size() != 0 && System.getenv("CURSEFORGE_TOKEN") != null) { apply plugin: 'com.matthewprenger.cursegradle' - File changelogFile = new File("CHANGELOG.md") + File changelogFile = new File(System.getenv("CHANGELOG_FILE") ?: "CHANGELOG.md") curseforge { apiKey = System.getenv("CURSEFORGE_TOKEN") @@ -732,6 +737,9 @@ if (curseForgeProjectId.size() != 0) { addCurseForgeRelation(parts[0], parts[1]) } } + if (usesMixins.toBoolean()) { + addCurseForgeRelation("requiredDependency", "gtnhmixins") + } tasks.curseforge.dependsOn(build) tasks.publish.dependsOn(tasks.curseforge) } diff --git a/dependencies.gradle b/dependencies.gradle index a2439a6048..e7828169f7 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,16 +1,16 @@ // Add your dependencies here dependencies { - compile("com.github.GTNewHorizons:GT5-Unofficial:5.09.41.78:dev") - compile("com.github.GTNewHorizons:EnderCore:0.2.6:dev") - compile("com.github.GTNewHorizons:EnderIO:2.3.1.29:dev") + compile("com.github.GTNewHorizons:GT5-Unofficial:5.09.41.110:dev") + compile("com.github.GTNewHorizons:EnderCore:0.2.11:dev") + compile("com.github.GTNewHorizons:EnderIO:2.3.1.47:dev") compile("com.github.GTNewHorizons:Infernal-Mobs:1.7.5-GTNH:dev") - compile("com.github.GTNewHorizons:ForestryMC:4.5.0:dev") - compileOnly("com.github.GTNewHorizons:GTplusplus:1.7.76:dev") + compile("com.github.GTNewHorizons:ForestryMC:4.5.6:dev") + compileOnly("com.github.GTNewHorizons:GTplusplus:1.7.134:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:BloodMagic:1.3.10:dev") + compileOnly("com.github.GTNewHorizons:BloodMagic:1.3.18:dev") { transitive = false } @@ -22,11 +22,11 @@ dependencies { { transitive = false } - compileOnly("com.github.GTNewHorizons:bartworks:0.5.89:dev") + compileOnly("com.github.GTNewHorizons:bartworks:0.5.97:dev") { transitive = false } - compileOnly("com.github.GTNewHorizons:NewHorizonsCoreMod:1.9.52:dev") + compileOnly("com.github.GTNewHorizons:NewHorizonsCoreMod:1.9.103:dev") { transitive = false } @@ -34,16 +34,16 @@ dependencies { runtime("curse.maven:cofh-core-69162:2388751") // For testing - //runtime("com.github.GTNewHorizons:GTplusplus:1.7.76:dev") - //runtime("com.github.GTNewHorizons:harvestcraft:1.0.15-GTNH:dev") - //runtime("com.github.GTNewHorizons:NewHorizonsCoreMod:1.9.52:dev") + //runtime("com.github.GTNewHorizons:GTplusplus:1.7.134:dev") + //runtime("com.github.GTNewHorizons:harvestcraft:1.0.18-GTNH:dev") + //runtime("com.github.GTNewHorizons:NewHorizonsCoreMod:1.9.103:dev") //runtime("com.github.GTNewHorizons:OpenBlocks:1.6.9-GTNH:dev") - //runtime("com.github.GTNewHorizons:bartworks:0.5.89:dev") + //runtime("com.github.GTNewHorizons:bartworks:0.5.97:dev") //runtime("com.github.GTNewHorizons:CraftTweaker:3.2.9:dev") - //compile("com.github.GTNewHorizons:SpecialMobs:3.3.12:dev") - //compile("com.github.GTNewHorizons:twilightforest:2.3.8.15:dev") + //compile("com.github.GTNewHorizons:SpecialMobs:3.3.13:dev") + //compile("com.github.GTNewHorizons:twilightforest:2.3.8.17:dev") //compile("com.github.GTNewHorizons:EnderZoo:1.0.23:dev") //runtime("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") - //runtime("com.github.GTNewHorizons:BloodMagic:1.3.10:dev") + //runtime("com.github.GTNewHorizons:BloodMagic:1.3.18:dev") //compile("curse.maven:witchery-69673:2234410") } diff --git a/src/main/java/kubatech/kubatech.java b/src/main/java/kubatech/kubatech.java index 3ce955e007..ca4d06320f 100644 --- a/src/main/java/kubatech/kubatech.java +++ b/src/main/java/kubatech/kubatech.java @@ -42,7 +42,7 @@ import org.apache.logging.log4j.Logger; version = Tags.VERSION, name = Tags.MODNAME, acceptedMinecraftVersions = "[1.7.10]", - dependencies = "required-after:gregtech; " + "required-after:spongemixins@[1.4.0,); " + "after:EnderIO; " + dependencies = "required-after:gregtech; " + "required-after:gtnhmixins@[2.0.1,); " + "after:EnderIO; " + "after:AWWayofTime; " + "after:ExtraUtilities; " + "after: InfernalMobs; " + "after: Thaumcraft; " + "after: MineTweaker3; " + "after: miscutils; " + "after: harvestcraft; " + "after: Forestry; ") public class kubatech { diff --git a/src/main/java/kubatech/mixin/MixinPlugin.java b/src/main/java/kubatech/mixin/MixinPlugin.java index 1afe7cdd6f..be00dc9817 100644 --- a/src/main/java/kubatech/mixin/MixinPlugin.java +++ b/src/main/java/kubatech/mixin/MixinPlugin.java @@ -3,6 +3,7 @@ package kubatech.mixin; import static java.nio.file.Files.walk; import static kubatech.mixin.TargetedMod.VANILLA; +import com.gtnewhorizon.gtnhmixins.MinecraftURLClassPath; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; @@ -17,10 +18,9 @@ import kubatech.Tags; import net.minecraft.launchwrapper.Launch; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.spongepowered.asm.lib.tree.ClassNode; import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; import org.spongepowered.asm.mixin.extensibility.IMixinInfo; -import ru.timeconqueror.spongemixins.MinecraftURLClassPath; +import org.spongepowered.libraries.org.objectweb.asm.tree.ClassNode; @SuppressWarnings("unused") public class MixinPlugin implements IMixinConfigPlugin { |
