From 7b47c39e6b062bc6e12d23888a48577b5e833a23 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 26 Dec 2025 18:15:21 -0500 Subject: [PATCH 1/4] Update scripts to use root folder --- scripts/gen-markdown-patchlist.py | 2 +- scripts/modernfixlib.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/gen-markdown-patchlist.py b/scripts/gen-markdown-patchlist.py index 35667b35..5dd8b303 100644 --- a/scripts/gen-markdown-patchlist.py +++ b/scripts/gen-markdown-patchlist.py @@ -8,7 +8,7 @@ from contextlib import redirect_stdout from modernfixlib import get_valid_mixin_options parser = argparse.ArgumentParser(description='Generate ModernFix patch summary Markdown file.') -parser.add_argument('-p', '--langpath', default='common/src/main/resources/assets/modernfix/lang/en_us.json') +parser.add_argument('-p', '--langpath', default='src/main/resources/assets/modernfix/lang/en_us.json') args = parser.parse_args() diff --git a/scripts/modernfixlib.py b/scripts/modernfixlib.py index 2e48ecc1..a2f450be 100644 --- a/scripts/modernfixlib.py +++ b/scripts/modernfixlib.py @@ -15,7 +15,7 @@ def get_valid_mixin_options(): mixin_name = mixin_name[1:] all_mixin_options.add("mixin." + mixin_name) # gather any mixin strings referenced in ModernFixEarlyConfig - with open('common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java') as config_java: + with open('src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java') as config_java: for line in config_java: for option in re.findall(r"\.put[A-Za-z_]*\(.*\"(mixin(?:\.[a-z_]+)+)\"", line): all_mixin_options.add(option) From c9843e08bd324401982c22adafa207bb940743a3 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 26 Dec 2025 18:16:41 -0500 Subject: [PATCH 2/4] Remove Loom cache [skip ci] --- .github/workflows/gradle.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index e6845138..22b2005a 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -27,13 +27,6 @@ jobs: with: cache-read-only: ${{ !startsWith(github.ref, 'refs/heads/1.') }} gradle-home-cache-cleanup: true - - name: Setup project Loom cache - uses: actions/cache@v4 - with: - path: | - .gradle/loom-cache - key: ${{ runner.os }}-gradle-${{ hashFiles('**/gradle.properties', '**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: ${{ runner.os }}-gradle- - name: Build ModernFix using Gradle run: ./gradlew build - name: Upload Artifacts to GitHub From 6ee15122f9c3265b01287e71e3bc7141ed84cdd3 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 26 Dec 2025 18:20:35 -0500 Subject: [PATCH 3/4] Add jar copying tasks --- build.gradle.kts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index 743436b8..d17ff60c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -45,6 +45,8 @@ val versionString = version = versionString +base.archivesName = "modernfix-forge" + legacyForge { enable { forgeVersion = rootProject.properties["forge_version"].toString() @@ -177,4 +179,22 @@ tasks.named("processResources") { filesMatching("META-INF/mods.toml") { expand("version" to project.version) } +} + +val finalJarTask = "reobfJar" + +tasks.register("copyJarNameConsistent") { + from(tasks.named(finalJarTask).get().outputs.files) + into(project.file("build/libs")) + rename { name -> "modernfix-" + project.name + "-latest.jar" } +} + +tasks.register("copyJarToBin") { + from(tasks.named(finalJarTask).get().outputs.files) + into(rootProject.file("bin")) + mustRunAfter(tasks.named("copyJarNameConsistent")) +} + +tasks.named("build") { + dependsOn("copyJarToBin", "copyJarNameConsistent") } \ No newline at end of file From f06fb8c32e2bf6c2d9055819f9fdeeff66f273a9 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 26 Dec 2025 18:29:35 -0500 Subject: [PATCH 4/4] Fix several issues running production jar --- build.gradle.kts | 18 ++++++++++++++++-- .../modernfix/core/ModernFixMixinPlugin.java | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index d17ff60c..189c1e41 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -83,7 +83,10 @@ mixin { tasks.named("jar") { manifest.attributes(mapOf( - "MixinConfigs" to "modernfix-modernfix.mixins.json" + "MixinConfigs" to "modernfix-modernfix.mixins.json", + "Specification-Version" to "1", + "Implementation-Title" to project.name, + "Implementation-Version" to version )) } @@ -127,8 +130,15 @@ repositories { } } +val embed by configurations.creating { + isCanBeConsumed = false + isCanBeResolved = true + isTransitive = true +} + dependencies { implementation(project(":annotations")) + embed(project(":annotations")) "additionalRuntimeClasspath"(project(":annotations")) annotationProcessor(project(path = ":annotation-processor", configuration = "shadow")) @@ -151,6 +161,10 @@ dependencies { modCompileOnly("curse.maven:kubejs-238086:5853326") } +tasks.named("jar") { + from(embed.map { if (it.isDirectory) it else zipTree(it) }) +} + // For the AP tasks.withType().configureEach { if (!name.lowercase().contains("test")) { @@ -186,7 +200,7 @@ val finalJarTask = "reobfJar" tasks.register("copyJarNameConsistent") { from(tasks.named(finalJarTask).get().outputs.files) into(project.file("build/libs")) - rename { name -> "modernfix-" + project.name + "-latest.jar" } + rename { _ -> "modernfix-" + project.name + "-latest.jar" } } tasks.register("copyJarToBin") { diff --git a/src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java b/src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java index fc2c7eba..c8575355 100644 --- a/src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java +++ b/src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java @@ -114,7 +114,7 @@ public class ModernFixMixinPlugin implements IMixinConfigPlugin { @Override public String getRefMapperConfig() { - return null; + return "modernfix.refmap.json"; } @Override