diff options
author | modmuss50 <modmuss50@gmail.com> | 2020-09-04 19:12:04 +0100 |
---|---|---|
committer | modmuss50 <modmuss50@gmail.com> | 2020-09-04 19:12:04 +0100 |
commit | 545b0c946bc6a91965da63abb9bf7b04f51886e9 (patch) | |
tree | d8ce40412f06cbe92473b52502b7f80889459ec9 /src/main/java/net/fabricmc/loom | |
parent | 8b1268abe741d9c578a654c6a82b9b7788c43bb9 (diff) | |
download | architectury-loom-545b0c946bc6a91965da63abb9bf7b04f51886e9.tar.gz architectury-loom-545b0c946bc6a91965da63abb9bf7b04f51886e9.tar.bz2 architectury-loom-545b0c946bc6a91965da63abb9bf7b04f51886e9.zip |
Fix to #265
Slightly ugly but works
Diffstat (limited to 'src/main/java/net/fabricmc/loom')
-rw-r--r-- | src/main/java/net/fabricmc/loom/util/NestedJars.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/main/java/net/fabricmc/loom/util/NestedJars.java b/src/main/java/net/fabricmc/loom/util/NestedJars.java index 3ca54fa8..7c0858bf 100644 --- a/src/main/java/net/fabricmc/loom/util/NestedJars.java +++ b/src/main/java/net/fabricmc/loom/util/NestedJars.java @@ -29,6 +29,7 @@ import java.io.IOException; import java.nio.file.Path; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Set; @@ -99,14 +100,20 @@ public class NestedJars { private static List<File> getContainedJars(Project project) { List<File> fileList = new ArrayList<>(); - ResolvedConfiguration configuration = project.getConfigurations().getByName(Constants.INCLUDE).getResolvedConfiguration(); - Set<ResolvedDependency> dependencies = configuration.getFirstLevelModuleDependencies(); + Configuration configuration = project.getConfigurations().getByName(Constants.INCLUDE); + ResolvedConfiguration resolvedConfiguration = configuration.getResolvedConfiguration(); + Set<ResolvedDependency> dependencies = resolvedConfiguration.getFirstLevelModuleDependencies(); - for (ResolvedDependency dependency : dependencies) { + // Bit ugly doing this, id guess there is a better way but this works. + Set<String> projectDeps = new HashSet<>(); + + for (Dependency dependency : configuration.getDependencies()) { if (dependency instanceof ProjectDependency) { ProjectDependency projectDependency = (ProjectDependency) dependency; Project dependencyProject = projectDependency.getDependencyProject(); + projectDeps.add(dependency.getGroup() + ":" + dependency.getName() + ":" + dependency.getVersion()); + // TODO change this to allow just normal jar tasks, so a project can have a none loom sub project Collection<Task> remapJarTasks = dependencyProject.getTasksByName("remapJar", false); Collection<Task> jarTasks = dependencyProject.getTasksByName("jar", false); @@ -118,6 +125,12 @@ public class NestedJars { fileList.add(((AbstractArchiveTask) task).getArchivePath()); } } + } + } + + for (ResolvedDependency dependency : dependencies) { + if (projectDeps.contains(dependency.getModuleGroup() + ":" + dependency.getModuleName() + ":" + dependency.getModuleVersion())) { + continue; } else { fileList.addAll(prepareForNesting( dependency |