Cleanup potentially corrupt files on mappings error
This commit is contained in:
		
							parent
							
								
									e5a6551609
								
							
						
					
					
						commit
						75f08fc4c5
					
				
					 3 changed files with 23 additions and 1 deletions
				
			
		|  | @ -55,6 +55,7 @@ import net.fabricmc.stitch.commands.tinyv2.CommandMergeTinyV2; | |||
| import net.fabricmc.stitch.commands.tinyv2.CommandReorderTinyV2; | ||||
| import net.fabricmc.loom.processors.JarProcessorManager; | ||||
| import net.fabricmc.loom.processors.MinecraftProcessedProvider; | ||||
| import net.fabricmc.loom.util.DeletingFileVisitor; | ||||
| 
 | ||||
| public class MappingsProvider extends DependencyProvider { | ||||
| 	public MinecraftMappedProvider mappedProvider; | ||||
|  | @ -260,6 +261,18 @@ public class MappingsProvider extends DependencyProvider { | |||
| 		mappingsMixinExport = new File(getExtension().getProjectBuildCache(), "mixin-map-" + minecraftVersion + "-" + mappingsVersion + ".tiny"); | ||||
| 	} | ||||
| 
 | ||||
| 	public void cleanFiles() { | ||||
| 		try { | ||||
| 			Files.walkFileTree(mappingsStepsDir, new DeletingFileVisitor()); | ||||
| 			Files.deleteIfExists(baseTinyMappings); | ||||
| 			mappingsMixinExport.delete(); | ||||
| 			tinyMappings.delete(); | ||||
| 			tinyMappingsJar.delete(); | ||||
| 		} catch (IOException e) { | ||||
| 			e.printStackTrace(); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	@Override | ||||
| 	public String getTargetConfig() { | ||||
| 		return Constants.MAPPINGS; | ||||
|  |  | |||
|  | @ -65,7 +65,15 @@ public class MinecraftMappedProvider extends DependencyProvider { | |||
| 				minecraftIntermediaryJar.delete(); | ||||
| 			} | ||||
| 
 | ||||
| 			new MapJarsTiny().mapJars(minecraftProvider, this, this.minecraftMappedJar, this.minecraftIntermediaryJar, getProject()); | ||||
| 			try { | ||||
| 				new MapJarsTiny().mapJars(minecraftProvider, this, this.minecraftMappedJar, this.minecraftIntermediaryJar, getProject()); | ||||
| 			} catch (Throwable t) { | ||||
| 				//Cleanup some some things that may be in a bad state now | ||||
| 				minecraftMappedJar.delete(); | ||||
| 				minecraftIntermediaryJar.delete(); | ||||
| 				getExtension().getMappingsProvider().cleanFiles(); | ||||
| 				throw new RuntimeException("Failed to remap minecraft", t); | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		if (!minecraftMappedJar.exists()) { | ||||
|  |  | |||
|  | @ -41,6 +41,7 @@ public class CleanLoomMappings extends AbstractLoomTask { | |||
| 			extension.getMinecraftMappedProvider().getIntermediaryJar().delete(); | ||||
| 			extension.getMinecraftMappedProvider().getMappedJar().delete(); | ||||
| 			Files.walkFileTree(extension.getRootProjectBuildCache().toPath(), new DeletingFileVisitor()); | ||||
| 			getExtension().getMappingsProvider().cleanFiles(); | ||||
| 		} catch (IOException e) { | ||||
| 			throw new RuntimeException(e); | ||||
| 		} | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue