aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Herzig <jonas@spark-squared.com>2022-05-10 11:29:06 +0200
committerJonas Herzig <jonas@spark-squared.com>2022-05-10 11:29:06 +0200
commit9ef3e273e63ef9c0316c7f4376ed68cffcaae96a (patch)
tree3d3d4cc5b34115bc5ccf9aeaee70d15b68b35927
parent8d369f2013363ff64b24f43138257d7f31b37796 (diff)
parentbd1eb92b49b30e16b707c82ebccb01584069c693 (diff)
downloadarchitectury-loom-9ef3e273e63ef9c0316c7f4376ed68cffcaae96a.tar.gz
architectury-loom-9ef3e273e63ef9c0316c7f4376ed68cffcaae96a.tar.bz2
architectury-loom-9ef3e273e63ef9c0316c7f4376ed68cffcaae96a.zip
Merge branch 'dev/0.10.0-fg2' into dev/0.10.0
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/sources/ForgeSourcesRemapper.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/sources/ForgeSourcesRemapper.java b/src/main/java/net/fabricmc/loom/configuration/sources/ForgeSourcesRemapper.java
index 6456f882..335c6fba 100644
--- a/src/main/java/net/fabricmc/loom/configuration/sources/ForgeSourcesRemapper.java
+++ b/src/main/java/net/fabricmc/loom/configuration/sources/ForgeSourcesRemapper.java
@@ -109,11 +109,28 @@ public class ForgeSourcesRemapper {
}
}
+ LoomGradleExtension extension = LoomGradleExtension.get(project);
+ Path legacySourcesZip = null;
+
+ if (extension.isLegacyForge()) {
+ Path userdevJar = extension.getForgeUserdevProvider().getUserdevJar().toPath();
+ byte[] sourcesZip = ZipUtils.unpack(userdevJar, "sources.zip");
+
+ legacySourcesZip = Files.createTempFile("sources", ".zip");
+ legacySourcesZip.toFile().deleteOnExit();
+ Files.write(legacySourcesZip, sourcesZip, StandardOpenOption.TRUNCATE_EXISTING);
+ forgeInstallerSources.add(legacySourcesZip);
+ }
+
project.getLogger().lifecycle(":found {} forge source jars", forgeInstallerSources.size());
Map<String, byte[]> forgeSources = extractSources(forgeInstallerSources);
project.getLogger().lifecycle(":extracted {} forge source classes", forgeSources.size());
remapSources(project, forgeSources);
forgeSources.forEach(consumer);
+
+ if (legacySourcesZip != null) {
+ Files.delete(legacySourcesZip);
+ }
}
private static void remapSources(Project project, Map<String, byte[]> sources) throws IOException {