aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom
diff options
context:
space:
mode:
authormodmuss50 <modmuss50@gmail.com>2020-09-04 19:12:04 +0100
committermodmuss50 <modmuss50@gmail.com>2020-09-04 19:12:04 +0100
commit545b0c946bc6a91965da63abb9bf7b04f51886e9 (patch)
treed8ce40412f06cbe92473b52502b7f80889459ec9 /src/main/java/net/fabricmc/loom
parent8b1268abe741d9c578a654c6a82b9b7788c43bb9 (diff)
downloadarchitectury-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.java19
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