From 3094d707319a8028c63868f61c8cc48843770cf7 Mon Sep 17 00:00:00 2001 From: Adrian Siekierka Date: Mon, 22 Apr 2019 01:25:03 +0200 Subject: [PATCH] apply nested JAR dependencies to every remapJar task which nests --- build.gradle | 4 ++-- src/main/java/net/fabricmc/loom/AbstractPlugin.java | 13 +++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 482ede6c..60b9ed6f 100644 --- a/build.gradle +++ b/build.gradle @@ -34,7 +34,7 @@ dependencies { implementation ('org.zeroturnaround:zt-zip:1.13') implementation ('com.google.code.gson:gson:2.8.5') implementation ('com.google.guava:guava:27.1-jre') - implementation ('net.fabricmc:stitch:0.1.2.49') { + implementation ('net.fabricmc:stitch:0.1.2.50') { exclude module: 'enigma' } implementation ('net.fabricmc:tiny-remapper:0.1.0.33') { @@ -42,7 +42,7 @@ dependencies { } implementation ('org.jetbrains:intellij-fernflower:1.0.0.8') - implementation ('net.fabricmc:sponge-mixin:0.7.11.22') { + implementation ('net.fabricmc:sponge-mixin:0.7.11.23') { exclude module: 'launchwrapper' exclude module: 'guava' } diff --git a/src/main/java/net/fabricmc/loom/AbstractPlugin.java b/src/main/java/net/fabricmc/loom/AbstractPlugin.java index 3f44f504..c7978784 100644 --- a/src/main/java/net/fabricmc/loom/AbstractPlugin.java +++ b/src/main/java/net/fabricmc/loom/AbstractPlugin.java @@ -267,8 +267,17 @@ public class AbstractPlugin implements Plugin { remapJarTask.doLast(task -> project1.getArtifacts().add("archives", remapJarTask.jar)); remapJarTask.dependsOn(project1.getTasks().getByName("jar")); project1.getTasks().getByName("build").dependsOn(remapJarTask); - //Run all the sub project remap jars tasks before the root projects jar, this is to allow us to include projects - NestedJars.getRequiredTasks(project1).forEach(remapJarTask::dependsOn); + + Map> taskMap = project.getAllTasks(true); + for (Map.Entry> entry : taskMap.entrySet()) { + Set taskSet = entry.getValue(); + for (Task task : taskSet) { + if (task instanceof RemapJar && ((RemapJar) task).isNestJar()) { + //Run all the sub project remap jars tasks before the root projects jar, this is to allow us to include projects + NestedJars.getRequiredTasks(project1).forEach(task::dependsOn); + } + } + } try { AbstractArchiveTask sourcesTask = (AbstractArchiveTask) project1.getTasks().getByName("sourcesJar");