From 3a0464d4f4886c65ec6d7cd1536e177788441da2 Mon Sep 17 00:00:00 2001 From: FalsePattern <30945458+FalsePattern@users.noreply.github.com> Date: Sun, 24 Jul 2022 11:35:07 +0200 Subject: [PATCH] checked file deletion --- .../lib/dependencies/DependencyLoader.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/falsepattern/lib/dependencies/DependencyLoader.java b/src/main/java/com/falsepattern/lib/dependencies/DependencyLoader.java index 0ec6f74..7ba4c45 100644 --- a/src/main/java/com/falsepattern/lib/dependencies/DependencyLoader.java +++ b/src/main/java/com/falsepattern/lib/dependencies/DependencyLoader.java @@ -121,10 +121,7 @@ public class DependencyLoader { return; } catch (RuntimeException e) { log.warn("Failed to load library {} from file! Re-downloading...", artifactLogName); - if (!file.delete()) { - log.fatal("Failed to delete file {}", file); - throw new RuntimeException("Failed to delete file " + file); - } + checkedDelete(file); } } if (!LibraryConfig.ENABLE_LIBRARY_DOWNLOADS) { @@ -185,7 +182,8 @@ public class DependencyLoader { if (!fileHash.equals(referenceHash)) { log.error("Failed {} checksum validation for {}. Retrying download...", checksumType, artifactLogName); - file.delete(); + checkedDelete(file); + checkedDelete(checksumFile); retry = true; continue redownload; } @@ -252,6 +250,13 @@ public class DependencyLoader { return digest(algo, data); } + private static void checkedDelete(File file) { + if (!file.delete()) { + log.fatal("Failed to delete file {}", file); + throw new RuntimeException("Failed to delete file " + file); + } + } + private static void addToClasspath(File file) { try { val cl = (LaunchClassLoader) DependencyLoader.class.getClassLoader();