diff --git a/src/main/java/net/fabricmc/loom/AbstractPlugin.java b/src/main/java/net/fabricmc/loom/AbstractPlugin.java index c14eb8d..bafce6e 100644 --- a/src/main/java/net/fabricmc/loom/AbstractPlugin.java +++ b/src/main/java/net/fabricmc/loom/AbstractPlugin.java @@ -339,8 +339,8 @@ public class AbstractPlugin implements Plugin { extension.addUnmappedMod(jarTask.getArchivePath().toPath()); remapJarTask.getAddNestedDependencies().set(true); - remapJarTask.doLast(task -> project1.getArtifacts().add("archives", remapJarTask.getArchivePath())); - remapJarTask.dependsOn(project1.getTasks().getByName("jar")); + project1.getArtifacts().add("archives", remapJarTask); + remapJarTask.dependsOn(jarTask); project1.getTasks().getByName("build").dependsOn(remapJarTask); Map> taskMap = project.getAllTasks(true); diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java index 31dcd59..eefd48f 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java +++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java @@ -196,7 +196,10 @@ public class LoomGradleExtension { return recurseProjects((p) -> { List configs = new ArrayList<>(); // check compile classpath first - configs.add(p.getConfigurations().getByName("compileClasspath")); + Configuration possibleCompileClasspath = p.getConfigurations().findByName("compileClasspath"); + if (possibleCompileClasspath != null) { + configs.add(possibleCompileClasspath); + } // failing that, buildscript configs.addAll(p.getBuildscript().getConfigurations()); diff --git a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java index 7a7bfcb..aa4f1a0 100644 --- a/src/main/java/net/fabricmc/loom/task/RemapJarTask.java +++ b/src/main/java/net/fabricmc/loom/task/RemapJarTask.java @@ -78,7 +78,7 @@ public class RemapJarTask extends Jar { Set classpathFiles = new LinkedHashSet<>( project.getConfigurations().getByName("compileClasspath").getFiles() ); - Path[] classpath = classpathFiles.stream().map(File::toPath).filter((p) -> !input.equals(p)).toArray(Path[]::new); + Path[] classpath = classpathFiles.stream().map(File::toPath).filter((p) -> !input.equals(p) && Files.exists(p)).toArray(Path[]::new); File mixinMapFile = mappingsProvider.MAPPINGS_MIXIN_EXPORT; Path mixinMapPath = mixinMapFile.toPath();