diff options
author | modmuss50 <modmuss50@gmail.com> | 2021-11-26 23:10:35 +0000 |
---|---|---|
committer | modmuss50 <modmuss50@gmail.com> | 2021-11-26 23:10:35 +0000 |
commit | 4b45783a5460c6cbd63cdc89b32fcaeb584a95e3 (patch) | |
tree | fe41a44c4229587a7cd862ce8700d8c4d877383f /src/main/java | |
parent | 60c908ea1b88e008b776e9f62dc71254aa617e94 (diff) | |
download | architectury-loom-4b45783a5460c6cbd63cdc89b32fcaeb584a95e3.tar.gz architectury-loom-4b45783a5460c6cbd63cdc89b32fcaeb584a95e3.tar.bz2 architectury-loom-4b45783a5460c6cbd63cdc89b32fcaeb584a95e3.zip |
Fix crash on Java 18 due to unpick using an outdated asm version.
Unpick will now get the same version of asm that loom is running with on its classpath.
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java index 3f851425..8ed07b90 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java @@ -48,6 +48,7 @@ import com.google.gson.JsonObject; import org.apache.tools.ant.util.StringUtils; import org.gradle.api.Project; import org.jetbrains.annotations.Nullable; +import org.objectweb.asm.Opcodes; import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.LoomGradlePlugin; @@ -304,6 +305,20 @@ public class MappingsProviderImpl extends DependencyProvider implements Mappings getProject().getDependencies().add(Constants.Configurations.UNPICK_CLASSPATH, String.format("%s:%s:%s", unpickMetadata.unpickGroup, unpickCliName, unpickMetadata.unpickVersion) ); + + // Unpick ships with a slightly older version of asm, ensure it runs with at least the same version as loom. + String[] asmDeps = new String[] { + "org.ow2.asm:asm:%s", + "org.ow2.asm:asm-tree:%s", + "org.ow2.asm:asm-commons:%s", + "org.ow2.asm:asm-util:%s" + }; + + for (String asm : asmDeps) { + getProject().getDependencies().add(Constants.Configurations.UNPICK_CLASSPATH, + asm.formatted(Opcodes.class.getPackage().getImplementationVersion()) + ); + } } private void mergeAndSaveMappings(Project project, Path from, Path out) throws IOException { |