diff options
author | Jonas Herzig <jonas@spark-squared.com> | 2022-05-10 11:29:06 +0200 |
---|---|---|
committer | Jonas Herzig <jonas@spark-squared.com> | 2022-05-10 11:29:06 +0200 |
commit | 9ef3e273e63ef9c0316c7f4376ed68cffcaae96a (patch) | |
tree | 3d3d4cc5b34115bc5ccf9aeaee70d15b68b35927 | |
parent | 8d369f2013363ff64b24f43138257d7f31b37796 (diff) | |
parent | bd1eb92b49b30e16b707c82ebccb01584069c693 (diff) | |
download | architectury-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.java | 17 |
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 { |