diff --git a/.github/workflows/gradle_build.yml b/.github/workflows/gradle_build.yml index 15f6a3f8b..1604ca7f1 100644 --- a/.github/workflows/gradle_build.yml +++ b/.github/workflows/gradle_build.yml @@ -36,4 +36,4 @@ jobs: uses: actions/upload-artifact@v2 with: name: Mappings - path: build/tmp/proguard/mapping.txt + path: mapping/ diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index f8393273d..5967ec87d 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -23,4 +23,4 @@ jobs: - name: Executing tests run: ./gradlew test - + diff --git a/.gitignore b/.gitignore index 99c56ad4f..16e60bede 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,6 @@ baritone_Client.launch !/.idea/copyright/profiles_settings.xml .vscode/launch.json -.architectury-transformer \ No newline at end of file +.architectury-transformer + +mapping \ No newline at end of file diff --git a/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java b/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java index ddd2a9360..ab1a180fc 100644 --- a/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java +++ b/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java @@ -42,6 +42,7 @@ class BaritoneGradleTask extends DefaultTask { PROGUARD_API_CONFIG = "api.pro", PROGUARD_STANDALONE_CONFIG = "standalone.pro", PROGUARD_EXPORT_PATH = "proguard_out.jar", + PROGUARD_MAPPING_DIR = "mapping", ARTIFACT_STANDARD = "%s-%s.jar", ARTIFACT_UNOPTIMIZED = "%s-unoptimized-%s.jar", @@ -101,11 +102,11 @@ class BaritoneGradleTask extends DefaultTask { } protected Path getRelativeFile(String file) { - return Paths.get(new File(new File(getProject().getBuildDir(), "../"), file).getAbsolutePath()); + return Paths.get(new File(getProject().getBuildDir(), file).getAbsolutePath()); } protected Path getRootRelativeFile(String file) { - return Paths.get(new File(new File(getProject().getRootProject().getBuildDir(), "../"), file).getAbsolutePath()); + return Paths.get(new File(getProject().getRootDir(), file).getAbsolutePath()); } protected Path getTemporaryFile(String file) { @@ -113,6 +114,6 @@ class BaritoneGradleTask extends DefaultTask { } protected Path getBuildFile(String file) { - return getRelativeFile("build/libs/" + file); + return getRelativeFile("libs/" + file); } } diff --git a/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java b/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java index 25535ff4c..5e5dbfc0d 100644 --- a/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java +++ b/buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java @@ -278,13 +278,19 @@ public class ProguardTask extends BaritoneGradleTask { template.add(2, "-libraryjars '" + this.getTemporaryFile(MIXIN_JAR) + "'"); } + Files.createDirectories(this.getRootRelativeFile(PROGUARD_MAPPING_DIR)); + + List api = new ArrayList<>(template); + api.add(2, "-printmapping " + new File(this.getRootRelativeFile(PROGUARD_MAPPING_DIR).toFile(), "mappings-" + compType + "-api.txt")); + // API config doesn't require any changes from the changes that we made to the template - Files.write(getTemporaryFile(PROGUARD_API_CONFIG), template); + Files.write(getTemporaryFile(compType+PROGUARD_API_CONFIG), api); // For the Standalone config, don't keep the API package List standalone = new ArrayList<>(template); standalone.removeIf(s -> s.contains("# this is the keep api")); - Files.write(getTemporaryFile(PROGUARD_STANDALONE_CONFIG), standalone); + standalone.add(2, "-printmapping " + new File(this.getRootRelativeFile(PROGUARD_MAPPING_DIR).toFile(), "mappings-" + compType + "-standalone.txt")); + Files.write(getTemporaryFile(compType+PROGUARD_STANDALONE_CONFIG), standalone); } private Stream acquireDependencies() { @@ -294,12 +300,12 @@ public class ProguardTask extends BaritoneGradleTask { } private void proguardApi() throws Exception { - runProguard(getTemporaryFile(PROGUARD_API_CONFIG)); + runProguard(getTemporaryFile(compType+PROGUARD_API_CONFIG)); Determinizer.determinize(this.proguardOut.toString(), this.artifactApiPath.toString()); } private void proguardStandalone() throws Exception { - runProguard(getTemporaryFile(PROGUARD_STANDALONE_CONFIG)); + runProguard(getTemporaryFile(compType+PROGUARD_STANDALONE_CONFIG)); Determinizer.determinize(this.proguardOut.toString(), this.artifactStandalonePath.toString()); } diff --git a/scripts/proguard.pro b/scripts/proguard.pro index 84b8e5ec9..b4b1e021b 100644 --- a/scripts/proguard.pro +++ b/scripts/proguard.pro @@ -337,5 +337,3 @@ public java.lang.String substring(int); public java.lang.String substring(int,int); } - --printmapping mapping.txt