aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc
diff options
context:
space:
mode:
authormodmuss50 <modmuss50@gmail.com>2021-03-18 22:00:06 +0000
committermodmuss50 <modmuss50@gmail.com>2021-03-18 22:00:06 +0000
commit8e424f3f50e36b2eae5c7b501d159b2b8b6eac54 (patch)
tree1394617292a92909322419e6e1a425e115969b12 /src/main/java/net/fabricmc
parentc033246a9fa4223cfa0da95822d65e3787b64fde (diff)
downloadarchitectury-loom-8e424f3f50e36b2eae5c7b501d159b2b8b6eac54.tar.gz
architectury-loom-8e424f3f50e36b2eae5c7b501d159b2b8b6eac54.tar.bz2
architectury-loom-8e424f3f50e36b2eae5c7b501d159b2b8b6eac54.zip
Try to cleanup files when failing better, should hopefully increase the changes of things working on a subsequent run.
Also improve the error message a little.
Diffstat (limited to 'src/main/java/net/fabricmc')
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/LoomDependencyManager.java2
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProvider.java9
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java6
-rw-r--r--src/main/java/net/fabricmc/loom/util/DownloadUtil.java2
4 files changed, 14 insertions, 5 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/LoomDependencyManager.java b/src/main/java/net/fabricmc/loom/configuration/LoomDependencyManager.java
index 397908c5..ff2ab892 100644
--- a/src/main/java/net/fabricmc/loom/configuration/LoomDependencyManager.java
+++ b/src/main/java/net/fabricmc/loom/configuration/LoomDependencyManager.java
@@ -130,7 +130,7 @@ public class LoomDependencyManager {
try {
provider.provide(info, afterTasks::add);
} catch (Exception e) {
- throw new RuntimeException("Failed to provide " + dependency.getGroup() + ":" + dependency.getName() + ":" + dependency.getVersion() + " : " + e.toString(), e);
+ throw new RuntimeException("Failed to provide " + dependency.getGroup() + ":" + dependency.getName() + ":" + dependency.getVersion() + " : " + e.toString() + "\n\tEnsure minecraft is not open and try running with --refresh-dependencies. Use --stacktrace to see the full stacktrace.", e);
}
}
}
diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProvider.java
index e25b8ca5..89c1646a 100644
--- a/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProvider.java
+++ b/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProvider.java
@@ -102,8 +102,7 @@ public class MinecraftProvider extends DependencyProvider {
try {
mergeJars(getProject().getLogger());
} catch (ZipError e) {
- DownloadUtil.delete(minecraftClientJar);
- DownloadUtil.delete(minecraftServerJar);
+ deleteFiles();
getProject().getLogger().error("Could not merge JARs! Deleting source JARs - please re-run the command and move on.", e);
throw new RuntimeException();
@@ -119,6 +118,12 @@ public class MinecraftProvider extends DependencyProvider {
versionManifestJson = new File(getExtension().getUserCache(), "version_manifest.json");
}
+ public void deleteFiles() {
+ DownloadUtil.delete(minecraftClientJar);
+ DownloadUtil.delete(minecraftServerJar);
+ DownloadUtil.delete(minecraftMergedJar);
+ }
+
private void downloadMcJson(boolean offline) throws IOException {
if (getExtension().isShareCaches() && !getExtension().isRootProject() && versionManifestJson.exists() && !isRefreshDeps()) {
return;
diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java
index 6301050a..5f540ba9 100644
--- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java
+++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java
@@ -38,6 +38,7 @@ import net.fabricmc.loom.configuration.DependencyProvider;
import net.fabricmc.loom.configuration.providers.MinecraftProvider;
import net.fabricmc.loom.configuration.providers.mappings.MappingsProvider;
import net.fabricmc.loom.util.Constants;
+import net.fabricmc.loom.util.DownloadUtil;
import net.fabricmc.loom.util.TinyRemapperMappingsHelper;
import net.fabricmc.tinyremapper.OutputConsumerPath;
import net.fabricmc.tinyremapper.TinyRemapper;
@@ -83,8 +84,9 @@ public class MinecraftMappedProvider extends DependencyProvider {
mapMinecraftJar();
} catch (Throwable t) {
// Cleanup some some things that may be in a bad state now
- minecraftMappedJar.delete();
- minecraftIntermediaryJar.delete();
+ DownloadUtil.delete(minecraftMappedJar);
+ DownloadUtil.delete(minecraftIntermediaryJar);
+ getExtension().getMinecraftProvider().deleteFiles();
getExtension().getMappingsProvider().cleanFiles();
throw new RuntimeException("Failed to remap minecraft", t);
}
diff --git a/src/main/java/net/fabricmc/loom/util/DownloadUtil.java b/src/main/java/net/fabricmc/loom/util/DownloadUtil.java
index 9bb2b7e2..115e53d8 100644
--- a/src/main/java/net/fabricmc/loom/util/DownloadUtil.java
+++ b/src/main/java/net/fabricmc/loom/util/DownloadUtil.java
@@ -219,5 +219,7 @@ public class DownloadUtil {
if (etagFile.exists()) {
etagFile.delete();
}
+
+ HashedDownloadUtil.delete(file);
}
}