aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorJuuxel <6596629+juuxel@users.noreply.github.com>2021-01-16 08:34:07 +0800
committershedaniel <daniel@shedaniel.me>2021-01-18 11:20:21 +0800
commit30740545079500615acc05c5ff429041f8c2342b (patch)
tree90a9285e526f3ead5f004d63a599bd2d8b6fbc74 /src/main/java
parent4a1d31a110c06cf24628f1ea6dde5555a921d9fc (diff)
downloadarchitectury-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')
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/accesswidener/AccessWidenerJarProcessor.java4
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/forge/MinecraftPatchedProvider.java7
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java8
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);
}