From ec47d43d67ea37866740c618a3affa6e7e106062 Mon Sep 17 00:00:00 2001 From: modmuss Date: Thu, 15 Feb 2024 13:02:36 +0000 Subject: [PATCH] Update CFR and Enigma (#3794) * Update CFR and Enigma * Update and fix build --- build.gradle | 11 +++++++++-- filament/gradle.properties | 2 +- .../task/mappingio/CompleteMappingsTask.java | 17 +++++++++++++++++ gradle.properties | 4 ++-- 4 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 filament/src/main/java/net/fabricmc/filament/task/mappingio/CompleteMappingsTask.java diff --git a/build.gradle b/build.gradle index d1fe75ac9b..6634c35381 100644 --- a/build.gradle +++ b/build.gradle @@ -104,6 +104,7 @@ import net.fabricmc.filament.task.UnpickJarTask import net.fabricmc.filament.task.base.WithFileInput import net.fabricmc.filament.task.base.WithFileOutput import net.fabricmc.filament.task.enigma.MapSpecializedMethodsTask +import net.fabricmc.filament.task.mappingio.CompleteMappingsTask import net.fabricmc.filament.task.mappingio.ConvertMappingsTask import net.fabricmc.filament.task.mappingio.MergeMappingsTask import net.fabricmc.mappingio.format.MappingFormat @@ -179,12 +180,18 @@ tasks.register('checkMappings') { tasks.register('mapSpecializedMethods', MapSpecializedMethodsTask) { intermediaryJarFile = mapIntermediaryJar.output mappings = mappingsDir - output = new File(tempDir, "yarn-mappings-v2.tiny") + output = new File(tempDir, "yarn-specialized-mappings-v2.tiny") inputMappingsFormat = "enigma" outputMappingsFormat = "tinyv2:intermediary:named" } +tasks.register('completeMappings', CompleteMappingsTask) { + input = mapSpecializedMethods.output + output = new File(tempDir, "yarn-mappings-v2.tiny") + outputFormat = MappingFormat.TINY_2_FILE +} + tasks.register('convertToV1', ConvertMappingsTask) { input = mapSpecializedMethods.output output = new File(tempDir, "yarn-mappings.tiny") @@ -303,7 +310,7 @@ build.dependsOn constantsJar tasks.register('insertAutoGeneratedEnumMappings', FileInputOutput) { dependsOn mapIntermediaryJar, downloadIntermediary group = buildMappingGroup - input = mapSpecializedMethods.output + input = completeMappings.output output = new File(tempDir, "unmerged-named-v2-with-enum.tiny") inputs.file mapIntermediaryJar.output diff --git a/filament/gradle.properties b/filament/gradle.properties index 1a9a0ff206..af3f073a8d 100644 --- a/filament/gradle.properties +++ b/filament/gradle.properties @@ -1 +1 @@ -filament_version=0.7.0 \ No newline at end of file +filament_version=0.7.1 \ No newline at end of file diff --git a/filament/src/main/java/net/fabricmc/filament/task/mappingio/CompleteMappingsTask.java b/filament/src/main/java/net/fabricmc/filament/task/mappingio/CompleteMappingsTask.java new file mode 100644 index 0000000000..1f980278b7 --- /dev/null +++ b/filament/src/main/java/net/fabricmc/filament/task/mappingio/CompleteMappingsTask.java @@ -0,0 +1,17 @@ +package net.fabricmc.filament.task.mappingio; + +import java.io.IOException; +import java.util.Map; + +import net.fabricmc.filament.task.base.WithFileInput; +import net.fabricmc.mappingio.MappingReader; +import net.fabricmc.mappingio.MappingWriter; +import net.fabricmc.mappingio.adapter.MappingNsCompleter; + +public abstract class CompleteMappingsTask extends MappingOutputTask implements WithFileInput { + @Override + void run(MappingWriter writer) throws IOException { + var nsCompleter = new MappingNsCompleter(writer, Map.of("named", "intermediary"), true); + MappingReader.read(getInputPath(), nsCompleter); + } +} diff --git a/gradle.properties b/gradle.properties index 358a35e596..ab22e085db 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,9 +3,9 @@ org.gradle.jvmargs=-Xmx1G org.gradle.parallel=true org.gradle.configuration-cache=true -enigma_version=2.3.3 +enigma_version=2.4.1 unpick_version=2.3.0 -cfr_version=0.2.1 +cfr_version=0.2.2 name_proposal_version=0.2.0 asm_version=9.6