From 99f42db370dde53278fec0df9e954527b0f4c01e Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Fri, 17 Apr 2020 14:17:10 +0800 Subject: [PATCH] fix: fail to update --- .../org/jackhuang/hmcl/download/forge/ForgeInstallTask.java | 3 ++- .../org/jackhuang/hmcl/download/game/LibraryDownloadTask.java | 4 +--- .../main/java/org/jackhuang/hmcl/task/FileDownloadTask.java | 2 -- .../java/org/jackhuang/hmcl/util/io/CompressingUtils.java | 4 ++-- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeInstallTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeInstallTask.java index 082f3b613..5dc7ae895 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeInstallTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeInstallTask.java @@ -52,7 +52,7 @@ public final class ForgeInstallTask extends Task { private final Version version; private Path installer; private final ForgeRemoteVersion remote; - private Task dependent; + private FileDownloadTask dependent; private Task dependency; public ForgeInstallTask(DefaultDependencyManager dependencyManager, Version version, ForgeRemoteVersion remoteVersion) { @@ -75,6 +75,7 @@ public final class ForgeInstallTask extends Task { installer.toFile(), null) .setCacheRepository(dependencyManager.getCacheRepository()) .setCaching(true); + dependent.addIntegrityCheckHandler(FileDownloadTask.ZIP_INTEGRITY_CHECK_HANDLER); } @Override diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/LibraryDownloadTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/LibraryDownloadTask.java index 58219ca05..f50644948 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/LibraryDownloadTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/LibraryDownloadTask.java @@ -26,8 +26,6 @@ import org.jackhuang.hmcl.task.FileDownloadTask; import org.jackhuang.hmcl.task.FileDownloadTask.IntegrityCheck; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.Logging; -import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.io.CompressingUtils; import org.jackhuang.hmcl.util.io.FileUtils; import org.jackhuang.hmcl.util.io.IOUtils; import org.jackhuang.hmcl.util.io.NetworkUtils; @@ -36,7 +34,6 @@ import org.tukaani.xz.XZInputStream; import java.io.*; import java.net.URL; import java.nio.charset.StandardCharsets; -import java.nio.file.FileSystem; import java.nio.file.Files; import java.nio.file.Path; import java.util.*; @@ -142,6 +139,7 @@ public class LibraryDownloadTask extends Task { library.getDownload().getSha1() != null ? new IntegrityCheck("SHA-1", library.getDownload().getSha1()) : null) .setCacheRepository(cacheRepository) .setCaching(true); + task.addIntegrityCheckHandler(FileDownloadTask.ZIP_INTEGRITY_CHECK_HANDLER); xz = false; } } catch (IOException e) { diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java index f89e0ca46..f72d95bb4 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java @@ -156,8 +156,6 @@ public class FileDownloadTask extends Task { this.integrityCheck = integrityCheck; this.retry = retry; - this.addIntegrityCheckHandler(ZIP_INTEGRITY_CHECK_HANDLER); - setName(file.getName()); setExecutor(Schedulers.io()); } diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/CompressingUtils.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/CompressingUtils.java index 907e2f1e2..265826c82 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/CompressingUtils.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/CompressingUtils.java @@ -178,9 +178,9 @@ public final class CompressingUtils { // Since Java 8 throws ZipError stupidly throw new ZipException(error.getMessage()); } catch (UnsupportedOperationException ex) { - throw new IOException("Not a zip file", ex); + throw new ZipException("Not a zip file"); } catch (FileSystemNotFoundException ex) { - throw new IOException("Java Environment is broken"); + throw new ZipException("Java Environment is broken"); } }