From edac522d0685bc9b88fcbe7bdf5673e143fc60ea Mon Sep 17 00:00:00 2001 From: Glavo Date: Fri, 18 Mar 2022 17:58:20 +0800 Subject: [PATCH] fix #1411: Set file executable permission after download Java --- .../jackhuang/hmcl/download/java/JavaDownloadTask.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/java/JavaDownloadTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/java/JavaDownloadTask.java index b4c87fb9e..7e8e41a33 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/java/JavaDownloadTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/java/JavaDownloadTask.java @@ -103,12 +103,20 @@ public class JavaDownloadTask extends Task { } catch (IOException e) { throw new ArtifactMalformedException("File " + entry.getKey() + " is malformed", e); } + + if (file.isExecutable()) { + dest.toFile().setExecutable(true); + } })); } else if (file.getDownloads().containsKey("raw")) { DownloadInfo download = file.getDownloads().get("raw"); FileDownloadTask task = new FileDownloadTask(NetworkUtils.toURL(download.getUrl()), dest.toFile(), new FileDownloadTask.IntegrityCheck("SHA-1", download.getSha1())); task.setName(entry.getKey()); - dependencies.add(task); + if (file.isExecutable()) { + dependencies.add(task.thenRunAsync(() -> dest.toFile().setExecutable(true))); + } else { + dependencies.add(task); + } } else { continue; }