Fix issues involving projects with modules that contain no java classes (#135)
Dependencies on a compileClasspath configuration, and encountering nonexistant paths in the classpath prevented remapping from completing successfully. Additionally, adds the output of remapJar as an artifact before the task executes to resolve a conflict with the signing plugin
This commit is contained in:
		
							parent
							
								
									13ae0ae263
								
							
						
					
					
						commit
						ba426c04fb
					
				
					 3 changed files with 7 additions and 4 deletions
				
			
		|  | @ -339,8 +339,8 @@ public class AbstractPlugin implements Plugin<Project> { | |||
| 				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<Project, Set<Task>> taskMap = project.getAllTasks(true); | ||||
|  |  | |||
|  | @ -196,7 +196,10 @@ public class LoomGradleExtension { | |||
| 		return recurseProjects((p) -> { | ||||
| 			List<Configuration> 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()); | ||||
| 
 | ||||
|  |  | |||
|  | @ -78,7 +78,7 @@ public class RemapJarTask extends Jar { | |||
| 		Set<File> 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(); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue