Cleanup output files when remap fails. Fixes #321
parent
841fc5a4db
commit
11b62989e7
|
@ -107,6 +107,8 @@ public class ModCompileRemapper {
|
|||
try {
|
||||
ModProcessor.processMods(project, modDependencies);
|
||||
} catch (IOException e) {
|
||||
// Failed to remap, lets clean up to ensure we try again next time
|
||||
modDependencies.forEach(info -> info.getRemappedOutput().delete());
|
||||
throw new RuntimeException("Failed to remap mods", e);
|
||||
}
|
||||
|
||||
|
@ -170,14 +172,7 @@ public class ModCompileRemapper {
|
|||
boolean refreshDeps = project.getGradle().getStartParameter().isRefreshDependencies();
|
||||
|
||||
if (!remappedSources.exists() || sources.lastModified() <= 0 || sources.lastModified() > remappedSources.lastModified() || refreshDeps) {
|
||||
try {
|
||||
sourceRemapper.scheduleRemapSources(sources, remappedSources, false, true); // Depenedency sources are used in ide only so don't need to be reproducable
|
||||
|
||||
// Set the remapped sources creation date to match the sources if we're likely succeeded in making it
|
||||
remappedSources.setLastModified(sources.lastModified());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
project.getLogger().info(remappedSources.getName() + " is up to date with " + sources.getName());
|
||||
}
|
||||
|
|
|
@ -72,13 +72,18 @@ public class SourceRemapper {
|
|||
scheduleRemapSources(source, destination, false, true); // Not reproducable by default, old behavior
|
||||
}
|
||||
|
||||
public void scheduleRemapSources(File source, File destination, boolean reproducibleFileOrder, boolean preserveFileTimestamps) throws Exception {
|
||||
public void scheduleRemapSources(File source, File destination, boolean reproducibleFileOrder, boolean preserveFileTimestamps) {
|
||||
remapTasks.add((logger) -> {
|
||||
try {
|
||||
logger.progress("remapping sources - " + source.getName());
|
||||
remapSourcesInner(source, destination);
|
||||
ZipReprocessorUtil.reprocessZip(destination, reproducibleFileOrder, preserveFileTimestamps);
|
||||
|
||||
// Set the remapped sources creation date to match the sources if we're likely succeeded in making it
|
||||
destination.setLastModified(source.lastModified());
|
||||
} catch (Exception e) {
|
||||
// Failed to remap, lets clean up to ensure we try again next time
|
||||
destination.delete();
|
||||
throw new RuntimeException("Failed to remap sources for " + source, e);
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue