diff options
author | Juuxel <6596629+juuxel@users.noreply.github.com> | 2021-01-16 08:34:07 +0800 |
---|---|---|
committer | shedaniel <daniel@shedaniel.me> | 2021-01-18 11:20:21 +0800 |
commit | 30740545079500615acc05c5ff429041f8c2342b (patch) | |
tree | 90a9285e526f3ead5f004d63a599bd2d8b6fbc74 /src/main/java | |
parent | 4a1d31a110c06cf24628f1ea6dde5555a921d9fc (diff) | |
download | architectury-loom-30740545079500615acc05c5ff429041f8c2342b.tar.gz architectury-loom-30740545079500615acc05c5ff429041f8c2342b.tar.bz2 architectury-loom-30740545079500615acc05c5ff429041f8c2342b.zip |
Fix issue with resolving minecraft libraries on the wrong thread
Diffstat (limited to 'src/main/java')
3 files changed, 10 insertions, 9 deletions
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 9ce530b8..91c4ee9d 100644 --- a/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java +++ b/src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java @@ -54,6 +54,7 @@ import net.fabricmc.accesswidener.AccessWidenerVisitor; import net.fabricmc.accesswidener.AccessWidenerWriter; import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.configuration.processors.JarProcessor; +import net.fabricmc.loom.configuration.providers.minecraft.MinecraftMappedProvider; import net.fabricmc.loom.util.Checksum; import net.fabricmc.loom.util.Constants; import net.fabricmc.tinyremapper.TinyRemapper; @@ -88,7 +89,8 @@ public class AccessWidenerJarProcessor implements JarProcessor { if (!accessWidener.getNamespace().equals("named")) { try { TinyRemapper tinyRemapper = loomGradleExtension.getMinecraftMappedProvider().getTinyRemapper(null, "official", "named"); - tinyRemapper.readClassPath(loomGradleExtension.getMinecraftMappedProvider().getRemapClasspath()); + loomGradleExtension.getMinecraftMappedProvider(); + tinyRemapper.readClassPath(MinecraftMappedProvider.getRemapClasspath(project)); AccessWidenerRemapper remapper = new AccessWidenerRemapper(accessWidener, tinyRemapper.getRemapper(), "named"); accessWidener = remapper.remap(); diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java index bf55335a..2afd3eed 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java @@ -75,6 +75,7 @@ import org.zeroturnaround.zip.ZipUtil; import net.fabricmc.loom.configuration.DependencyProvider; import net.fabricmc.loom.configuration.providers.MinecraftProvider; import net.fabricmc.loom.configuration.providers.mappings.MappingsProvider; +import net.fabricmc.loom.configuration.providers.minecraft.MinecraftMappedProvider; import net.fabricmc.loom.util.Checksum; import net.fabricmc.loom.util.Constants; import net.fabricmc.loom.util.DownloadUtil; @@ -415,11 +416,7 @@ public class MinecraftPatchedProvider extends DependencyProvider { } private void remapPatchedJars(Logger logger) throws Exception { - Path[] libraries = getProject().getConfigurations() - .getByName(Constants.Configurations.MINECRAFT_DEPENDENCIES) - .getFiles() - .stream().map(File::toPath) - .toArray(Path[]::new); + Path[] libraries = MinecraftMappedProvider.getRemapClasspath(getProject()); ThreadingUtils.run(Arrays.asList(Environment.values()), environment -> { logger.lifecycle(":remapping minecraft (TinyRemapper, " + environment.side() + ", srg -> official)"); diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java index 0e57b66d..93068ba4 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java @@ -136,6 +136,8 @@ public class MinecraftMappedProvider extends DependencyProvider { Path outputIntermediary = minecraftIntermediaryJar.toPath(); Path outputSrg = minecraftSrgJar == null ? null : minecraftSrgJar.toPath(); + Path[] libraries = getRemapClasspath(getProject()); + ThreadingUtils.run(getExtension().isForge() ? Arrays.asList("named", "intermediary", "srg") : Arrays.asList("named", "intermediary"), toM -> { Path output = "named".equals(toM) ? outputMapped : "srg".equals(toM) ? outputSrg : outputIntermediary; @@ -150,7 +152,7 @@ public class MinecraftMappedProvider extends DependencyProvider { outputConsumer.addNonClassFiles(input); } - remapper.readClassPath(getRemapClasspath()); + remapper.readClassPath(libraries); remapper.readInputs(input); remapper.apply(outputConsumer); } catch (Exception e) { @@ -220,8 +222,8 @@ public class MinecraftMappedProvider extends DependencyProvider { return builder.build(); } - public Path[] getRemapClasspath() { - return getProject().getConfigurations().getByName(Constants.Configurations.MINECRAFT_DEPENDENCIES).getFiles() + public static Path[] getRemapClasspath(Project project) { + return project.getConfigurations().getByName(Constants.Configurations.MINECRAFT_DEPENDENCIES).getFiles() .stream().map(File::toPath).toArray(Path[]::new); } |