From 34a9d2316c5672210004b97316916e7ac02bc5d3 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Thu, 21 Jan 2021 20:30:08 +0000 Subject: [PATCH] Improve error handling around access widener remapping. Closes #311 --- .../accesswidener/AccessWidenerJarProcessor.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java b/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java index 64241ea..936e6b7 100644 --- a/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java +++ b/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java @@ -32,6 +32,7 @@ import java.io.StringWriter; import java.nio.charset.StandardCharsets; import java.nio.file.Path; import java.util.Arrays; +import java.util.List; import java.util.Set; import java.util.zip.ZipEntry; @@ -87,6 +88,12 @@ public class AccessWidenerJarProcessor implements JarProcessor { //Remap accessWidener if its not named, allows for AE's to be written in intermediary if (!accessWidener.getNamespace().equals("named")) { try { + List validNamespaces = loomGradleExtension.getMappingsProvider().getMappings().getMetadata().getNamespaces(); + + if (!validNamespaces.contains(accessWidener.getNamespace())) { + throw new UnsupportedOperationException(String.format("Access Widener namespace '%s' is not a valid namespace, it must be one of: '%s'", accessWidener.getNamespace(), String.join(", ", validNamespaces))); + } + TinyRemapper tinyRemapper = loomGradleExtension.getMinecraftMappedProvider().getTinyRemapper("official", "named"); tinyRemapper.readClassPath(loomGradleExtension.getMinecraftMappedProvider().getRemapClasspath());