diff options
author | detiam | 2024-02-22 02:10:23 +0800 |
---|---|---|
committer | detiam | 2024-02-22 02:10:23 +0800 |
commit | 6093e4192f544b785cdfe85ce30e8d4a53336f43 (patch) | |
tree | ce499de38b6be51a3127370ddd47ee0fc3a40d67 | |
parent | e6454770afea89b4d303f877201617e381690e3e (diff) | |
download | aur-6093e4192f544b785cdfe85ce30e8d4a53336f43.tar.gz |
update 3.5.5.236
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | 0001-Target-Java-17.patch | 6 | ||||
-rw-r--r-- | 0002-Cleanup.patch | 470 | ||||
-rw-r--r-- | PKGBUILD | 136 | ||||
-rwxr-xr-x | hmcl-launch-script | 35 | ||||
-rw-r--r-- | hmcl.desktop | 11 |
6 files changed, 196 insertions, 478 deletions
@@ -1,8 +1,8 @@ pkgbase = hmcl-java-run pkgdesc = An unofficial build of HMCL that use aur/archlinux-java-run to select java version with javaFX (with aur/hmcl-new changes) - pkgver = 3.5.5.235 + pkgver = 3.5.5.236 pkgrel = 1 - url = https://github.com/huanghongxun/HMCL + url = https://github.com/HMCL-dev/HMCL arch = any license = GPL3 makedepends = java-environment>=17 @@ -13,15 +13,11 @@ pkgbase = hmcl-java-run depends = archlinux-java-run provides = hmcl conflicts = hmcl - source = hmcl.desktop - source = hmcl-launch-script - source = HMCL-ffeabbf1f144ba14462e27c2ac9d46e231c1482e.tar.gz::https://github.com/huanghongxun/HMCL/archive/ffeabbf1f144ba14462e27c2ac9d46e231c1482e.tar.gz + source = HMCL-v3.5.5.236.tar.gz::https://github.com/HMCL-dev/HMCL/archive/v3.5.5.236.tar.gz source = 0001-Target-Java-17.patch source = 0002-Cleanup.patch - sha256sums = 6a6f664c3569bd398528dbc3e50b78519d765f1ef8a32f98e1efbf514185cce3 - sha256sums = 505c335bce8685fff97f6fbd0c4b916fa697dfc73ff22735d7c188b3811bc422 - sha256sums = 1e152212e1507d49c867fe8715c4ec337972795cd9f4947e285677a56257cb3d - sha256sums = c650fa0d34f22f9700dd047fbe243a63528c629312b94f499d4aa341b9b5193f - sha256sums = 3eb85d8b6f1affcf33fb1e5ec12127eac4962d0c980e2884ccf954578e12a131 + sha256sums = c5bbb74809e1d66684f8370816b5e15dae149337eaadac0ae30f246ccfc80dd1 + sha256sums = c395ad622cf81a07d5738f6c20b845b51c900fd1aa0e9b87fd8ea415b8fac646 + sha256sums = f723aebb63bd414bdd86e41c9795686fa0b409ddb339b5bc953b3c9097a76b02 pkgname = hmcl-java-run diff --git a/0001-Target-Java-17.patch b/0001-Target-Java-17.patch index 73ce3887ea26..6e7d0b838b8e 100644 --- a/0001-Target-Java-17.patch +++ b/0001-Target-Java-17.patch @@ -1,4 +1,4 @@ -From 184658690a01c7c4afe3fba8a016379164aa2980 Mon Sep 17 00:00:00 2001 +From ed929feb233b3f3e6f5e4fcbcfc5ee9e71668530 Mon Sep 17 00:00:00 2001 From: Aviana Cruz <gwencroft@proton.me> Date: Sun, 6 Nov 2022 13:28:59 +0800 Subject: [PATCH 1/2] Target Java 17 @@ -9,7 +9,7 @@ Signed-off-by: Aviana Cruz <gwencroft@proton.me> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts -index 50a4f2c00..b3d378d37 100644 +index deccd9e5c..7c421c91a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -24,8 +24,8 @@ subprojects { @@ -24,5 +24,5 @@ index 50a4f2c00..b3d378d37 100644 options.encoding = "UTF-8" } -- -2.43.0 +2.43.2 diff --git a/0002-Cleanup.patch b/0002-Cleanup.patch index bbef38154704..2062ec93b9c3 100644 --- a/0002-Cleanup.patch +++ b/0002-Cleanup.patch @@ -1,4 +1,4 @@ -From 6124732f8ef59b0b1e05641f70c4180644d20cf8 Mon Sep 17 00:00:00 2001 +From 7ef492c2c96f0a621cb201c3befa4a59be5b28c5 Mon Sep 17 00:00:00 2001 From: Aviana Cruz <gwencroft@proton.me> Date: Sun, 6 Nov 2022 13:33:14 +0800 Subject: [PATCH 2/2] Cleanup @@ -6,9 +6,9 @@ Subject: [PATCH 2/2] Cleanup Co-authored-by: zhaose <weiliang1503@outlook.com> Signed-off-by: Aviana Cruz <gwencroft@proton.me> --- - .../java/org/jackhuang/hmcl/Launcher.java | 13 - - .../java/org/jackhuang/hmcl/Metadata.java | 4 - - .../org/jackhuang/hmcl/countly/Countly.java | 87 ------ + .../java/org/jackhuang/hmcl/Launcher.java | 8 - + .../java/org/jackhuang/hmcl/Metadata.java | 2 - + .../org/jackhuang/hmcl/countly/Countly.java | 86 ------ .../org/jackhuang/hmcl/ui/Controllers.java | 9 - .../org/jackhuang/hmcl/ui/CrashWindow.java | 3 - .../org/jackhuang/hmcl/ui/UpgradeDialog.java | 77 ----- @@ -20,59 +20,51 @@ Signed-off-by: Aviana Cruz <gwencroft@proton.me> .../jackhuang/hmcl/ui/main/SettingsPage.java | 60 ---- .../jackhuang/hmcl/ui/main/SettingsView.java | 58 ---- .../jackhuang/hmcl/ui/main/SponsorPage.java | 174 ----------- - .../hmcl/ui/versions/ModTranslations.java | 18 +- - .../upgrade/hmcl/ExecutableHeaderHelper.java | 124 -------- - .../hmcl/upgrade/hmcl/HMCLDownloadTask.java | 68 ----- - .../hmcl/upgrade/hmcl/IntegrityChecker.java | 146 --------- - .../hmcl/upgrade/hmcl/RemoteVersion.java | 96 ------ - .../hmcl/upgrade/hmcl/UpdateChannel.java | 42 --- - .../hmcl/upgrade/hmcl/UpdateChecker.java | 125 -------- - .../hmcl/upgrade/hmcl/UpdateHandler.java | 282 ------------------ - .../resource/RemoteResourceManager.java | 204 ------------- + .../hmcl/upgrade/ExecutableHeaderHelper.java | 124 -------- + .../hmcl/upgrade/HMCLDownloadTask.java | 68 ----- + .../hmcl/upgrade/IntegrityChecker.java | 146 --------- + .../jackhuang/hmcl/upgrade/RemoteVersion.java | 96 ------ + .../jackhuang/hmcl/upgrade/UpdateChannel.java | 42 --- + .../jackhuang/hmcl/upgrade/UpdateChecker.java | 124 -------- + .../jackhuang/hmcl/upgrade/UpdateHandler.java | 282 ------------------ .../jackhuang/hmcl/util/CrashReporter.java | 5 - .../hmcl/game/GameDumpGenerator.java | 6 +- - 25 files changed, 4 insertions(+), 1866 deletions(-) + 23 files changed, 3 insertions(+), 1636 deletions(-) delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/countly/Countly.java delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/ui/UpgradeDialog.java delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/ui/main/FeedbackPage.java delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/ui/main/SponsorPage.java - delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/ExecutableHeaderHelper.java - delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/HMCLDownloadTask.java - delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/IntegrityChecker.java - delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/RemoteVersion.java - delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateChannel.java - delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateChecker.java - delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateHandler.java - delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/resource/RemoteResourceManager.java + delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/ExecutableHeaderHelper.java + delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/HMCLDownloadTask.java + delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/IntegrityChecker.java + delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/RemoteVersion.java + delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChannel.java + delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChecker.java + delete mode 100644 HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateHandler.java diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/Launcher.java b/HMCL/src/main/java/org/jackhuang/hmcl/Launcher.java -index 489d77999..794602dfe 100644 +index bf967fc5a..df2f6252e 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/Launcher.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/Launcher.java -@@ -33,9 +33,6 @@ import org.jackhuang.hmcl.setting.SambaException; +@@ -33,8 +33,6 @@ import org.jackhuang.hmcl.setting.SambaException; import org.jackhuang.hmcl.task.AsyncTaskExecutor; import org.jackhuang.hmcl.task.Schedulers; import org.jackhuang.hmcl.ui.Controllers; --import org.jackhuang.hmcl.upgrade.hmcl.UpdateChecker; --import org.jackhuang.hmcl.upgrade.hmcl.UpdateHandler; --import org.jackhuang.hmcl.upgrade.resource.RemoteResourceManager; +-import org.jackhuang.hmcl.upgrade.UpdateChecker; +-import org.jackhuang.hmcl.upgrade.UpdateHandler; import org.jackhuang.hmcl.util.CrashReporter; import org.jackhuang.hmcl.util.Lang; - import org.jackhuang.hmcl.util.Logging; -@@ -121,12 +118,6 @@ public final class Launcher extends Application { + import org.jackhuang.hmcl.util.StringUtils; +@@ -119,8 +117,6 @@ public final class Launcher extends Application { Platform.setImplicitExit(false); Controllers.initialize(primaryStage); - UpdateChecker.init(); - -- RemoteResourceManager.init(); -- -- RemoteResourceManager.register(); -- primaryStage.show(); }); } catch (Throwable e) { -@@ -265,10 +256,6 @@ public final class Launcher extends Application { +@@ -259,10 +255,6 @@ public final class Launcher extends Application { } public static void main(String[] args) { @@ -84,20 +76,18 @@ index 489d77999..794602dfe 100644 AsyncTaskExecutor.setUncaughtExceptionHandler(new CrashReporter(false)); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java b/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java -index 0a599934f..a26b1ca45 100644 +index 06198bfb9..b8d0d50f1 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java -@@ -37,9 +37,6 @@ public final class Metadata { +@@ -37,7 +37,6 @@ public final class Metadata { public static final String TITLE = NAME + " " + VERSION; public static final String FULL_TITLE = FULL_NAME + " v" + VERSION; -- // hmcl.update_source.override is deprecated. If it is used, a warning message will be printed in org.jackhuang.hmcl.Launcher.main . -- public static final String HMCL_UPDATE_URL = System.getProperty("hmcl.hmcl_update_source.override", System.getProperty("hmcl.update_source.override", "https://hmcl.huangyuhui.net/api/update_link")); -- public static final String RESOURCE_UPDATE_URL = System.getProperty("hmcl.resource_update_source.override", "https://hmcl.huangyuhui.net/api/dynamic_remote_resource/update_link"); +- public static final String HMCL_UPDATE_URL = System.getProperty("hmcl.update_source.override", "https://hmcl.huangyuhui.net/api/update_link"); public static final String CONTACT_URL = "https://docs.hmcl.net/help.html"; public static final String HELP_URL = "https://docs.hmcl.net"; public static final String CHANGELOG_URL = "https://docs.hmcl.net/changelog/"; -@@ -47,7 +44,6 @@ public final class Metadata { +@@ -45,7 +44,6 @@ public final class Metadata { public static final String EULA_URL = "https://docs.hmcl.net/eula/hmcl.html"; public static final String BUILD_CHANNEL = JarUtils.getManifestAttribute("Build-Channel", "nightly"); @@ -107,10 +97,10 @@ index 0a599934f..a26b1ca45 100644 public static final Path HMCL_DIRECTORY; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/countly/Countly.java b/HMCL/src/main/java/org/jackhuang/hmcl/countly/Countly.java deleted file mode 100644 -index f22dd1d0c..000000000 +index f18b19685..000000000 --- a/HMCL/src/main/java/org/jackhuang/hmcl/countly/Countly.java +++ /dev/null -@@ -1,87 +0,0 @@ +@@ -1,86 +0,0 @@ -/* - * Hello Minecraft! Launcher - * Copyright (C) 2020 huangyuhui <huanghongxun2008@126.com> and contributors @@ -133,10 +123,9 @@ index f22dd1d0c..000000000 -import org.jackhuang.hmcl.util.io.HttpRequest; - -import java.io.IOException; +-import java.time.ZonedDateTime; -import java.util.Calendar; --import java.util.Date; -import java.util.Locale; --import java.util.TimeZone; - -import static org.jackhuang.hmcl.util.Pair.pair; - @@ -153,7 +142,7 @@ index f22dd1d0c..000000000 - pair("metrics", metrics), - pair("device_id", deviceId), - pair("timestamp", Long.toString(System.currentTimeMillis())), -- pair("tz", Integer.toString(TimeZone.getDefault().getOffset(new Date().getTime()) / 60000)), +- pair("tz", Integer.toString(getTimezoneOffset())), - pair("hour", Integer.toString(currentHour())), - pair("dow", Integer.toString(currentDayOfWeek())), - pair("app_key", APP_KEY), @@ -163,7 +152,7 @@ index f22dd1d0c..000000000 - } - - private static int getTimezoneOffset() { -- return TimeZone.getDefault().getOffset(new Date().getTime()) / 60000; +- return ZonedDateTime.now().getOffset().getTotalSeconds() / 60; - } - - private static String getLocale() { @@ -199,10 +188,10 @@ index f22dd1d0c..000000000 - private static final String APP_KEY = ""; -} diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java -index acedb629c..94c28acad 100644 +index 5a4fe371d..399625b11 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java -@@ -385,15 +385,6 @@ public final class Controllers { +@@ -386,15 +386,6 @@ public final class Controllers { public static void onHyperlinkAction(String href) { if (href.startsWith("hmcl://")) { @@ -219,14 +208,14 @@ index acedb629c..94c28acad 100644 FXUtils.openLink(href); } diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/CrashWindow.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/CrashWindow.java -index 6761ad986..8f4b2b880 100644 +index cb8936947..8f4b2b880 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/CrashWindow.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/CrashWindow.java @@ -28,7 +28,6 @@ import javafx.scene.layout.StackPane; import javafx.stage.Stage; import org.jackhuang.hmcl.Metadata; import org.jackhuang.hmcl.countly.CrashReport; --import org.jackhuang.hmcl.upgrade.hmcl.UpdateChecker; +-import org.jackhuang.hmcl.upgrade.UpdateChecker; import static org.jackhuang.hmcl.ui.FXUtils.newBuiltinImage; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; @@ -241,7 +230,7 @@ index 6761ad986..8f4b2b880 100644 lblCrash.setWrapText(true); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/UpgradeDialog.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/UpgradeDialog.java deleted file mode 100644 -index 733e393da..000000000 +index b43133a1c..000000000 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/UpgradeDialog.java +++ /dev/null @@ -1,77 +0,0 @@ @@ -272,7 +261,7 @@ index 733e393da..000000000 -import javafx.scene.web.WebView; -import org.jackhuang.hmcl.Metadata; -import org.jackhuang.hmcl.ui.construct.DialogCloseEvent; --import org.jackhuang.hmcl.upgrade.hmcl.RemoteVersion; +-import org.jackhuang.hmcl.upgrade.RemoteVersion; - -import java.util.logging.Level; - @@ -323,14 +312,14 @@ index 733e393da..000000000 - } -} diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java -index dfa578cc2..cac871f81 100644 +index 06c6763a0..cac871f81 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java @@ -58,7 +58,6 @@ import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.ui.SVG; import org.jackhuang.hmcl.ui.WeakListenerHolder; import org.jackhuang.hmcl.ui.construct.*; --import org.jackhuang.hmcl.upgrade.hmcl.IntegrityChecker; +-import org.jackhuang.hmcl.upgrade.IntegrityChecker; import org.jackhuang.hmcl.util.StringUtils; import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; import org.jackhuang.hmcl.util.javafx.BindingMapping; @@ -504,16 +493,16 @@ index 3e80594cc..32ca4b1db 100644 public ReadOnlyObjectProperty<State> stateProperty() { return state.getReadOnlyProperty(); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/MainPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/MainPage.java -index f613d8fb3..c63d73ce9 100644 +index 6f1cf7f17..c63d73ce9 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/MainPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/MainPage.java @@ -53,9 +53,6 @@ import org.jackhuang.hmcl.ui.construct.TwoLineListItem; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; import org.jackhuang.hmcl.ui.versions.GameItem; import org.jackhuang.hmcl.ui.versions.Versions; --import org.jackhuang.hmcl.upgrade.hmcl.RemoteVersion; --import org.jackhuang.hmcl.upgrade.hmcl.UpdateChecker; --import org.jackhuang.hmcl.upgrade.hmcl.UpdateHandler; +-import org.jackhuang.hmcl.upgrade.RemoteVersion; +-import org.jackhuang.hmcl.upgrade.UpdateChecker; +-import org.jackhuang.hmcl.upgrade.UpdateHandler; import org.jackhuang.hmcl.util.javafx.BindingMapping; import org.jackhuang.hmcl.util.javafx.MappedObservableList; @@ -696,18 +685,18 @@ index f613d8fb3..c63d73ce9 100644 FXUtils.checkFxUserThread(); this.profile = profile; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java -index d6dd1c5fb..391432d1f 100644 +index 7191966f9..5082c8a4f 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java @@ -43,7 +43,6 @@ import org.jackhuang.hmcl.ui.nbt.NBTEditorPage; import org.jackhuang.hmcl.ui.nbt.NBTHelper; import org.jackhuang.hmcl.ui.versions.GameAdvancedListItem; import org.jackhuang.hmcl.ui.versions.Versions; --import org.jackhuang.hmcl.upgrade.hmcl.UpdateChecker; +-import org.jackhuang.hmcl.upgrade.UpdateChecker; + import org.jackhuang.hmcl.util.Lang; import org.jackhuang.hmcl.util.StringUtils; import org.jackhuang.hmcl.util.TaskCancellationAction; - import org.jackhuang.hmcl.util.io.CompressingUtils; -@@ -110,8 +109,6 @@ public class RootPage extends DecoratorAnimatedPage implements DecoratorPage { +@@ -111,8 +110,6 @@ public class RootPage extends DecoratorAnimatedPage implements DecoratorPage { }); FXUtils.onChangeAndOperate(Profiles.selectedVersionProperty(), mainPage::setCurrentGame); @@ -745,17 +734,17 @@ index d6dd1c5fb..391432d1f 100644 // the root page, with the sidebar in left, navigator in center. diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/SettingsPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/SettingsPage.java -index a76070c1c..622b21e6b 100644 +index b53470944..622b21e6b 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/SettingsPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/SettingsPage.java @@ -27,10 +27,6 @@ import org.jackhuang.hmcl.setting.Settings; import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.ui.construct.MessageDialogPane.MessageType; --import org.jackhuang.hmcl.upgrade.hmcl.RemoteVersion; --import org.jackhuang.hmcl.upgrade.hmcl.UpdateChannel; --import org.jackhuang.hmcl.upgrade.hmcl.UpdateChecker; --import org.jackhuang.hmcl.upgrade.hmcl.UpdateHandler; +-import org.jackhuang.hmcl.upgrade.RemoteVersion; +-import org.jackhuang.hmcl.upgrade.UpdateChannel; +-import org.jackhuang.hmcl.upgrade.UpdateChecker; +-import org.jackhuang.hmcl.upgrade.UpdateHandler; import org.jackhuang.hmcl.util.Logging; import org.jackhuang.hmcl.util.i18n.Locales; import org.jackhuang.hmcl.util.io.FileUtils; @@ -923,7 +912,7 @@ index 132ea76f6..44b6dfed7 100644 } diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/SponsorPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/SponsorPage.java deleted file mode 100644 -index 07716990b..000000000 +index ea21757c6..000000000 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/SponsorPage.java +++ /dev/null @@ -1,174 +0,0 @@ @@ -963,7 +952,7 @@ index 07716990b..000000000 -import org.jackhuang.hmcl.util.io.HttpRequest; - -import java.math.BigDecimal; --import java.util.Date; +-import java.time.Instant; -import java.util.List; - -import static org.jackhuang.hmcl.util.i18n.I18n.i18n; @@ -1057,7 +1046,7 @@ index 07716990b..000000000 - private final String name; - - @SerializedName("create_time") -- private final Date createTime; +- private final Instant createTime; - - @SerializedName("money") - private final BigDecimal money; @@ -1069,10 +1058,10 @@ index 07716990b..000000000 - private final String afdianId; - - public Sponsor() { -- this("", new Date(), BigDecimal.ZERO, "", ""); +- this("", Instant.now(), BigDecimal.ZERO, "", ""); - } - -- public Sponsor(String name, Date createTime, BigDecimal money, String contact, String afdianId) { +- public Sponsor(String name, Instant createTime, BigDecimal money, String contact, String afdianId) { - this.name = name; - this.createTime = createTime; - this.money = money; @@ -1084,7 +1073,7 @@ index 07716990b..000000000 - return name; - } - -- public Date getCreateTime() { +- public Instant getCreateTime() { - return createTime; - } - @@ -1101,60 +1090,10 @@ index 07716990b..000000000 - } - } -} -diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModTranslations.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModTranslations.java -index 7d7a22cb4..36b380e85 100644 ---- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModTranslations.java -+++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModTranslations.java -@@ -18,7 +18,6 @@ - package org.jackhuang.hmcl.ui.versions; - - import org.jackhuang.hmcl.mod.RemoteModRepository; --import org.jackhuang.hmcl.upgrade.resource.RemoteResourceManager; - import org.jackhuang.hmcl.util.Pair; - import org.jackhuang.hmcl.util.StringUtils; - import org.jackhuang.hmcl.util.io.IOUtils; -@@ -69,7 +68,6 @@ public enum ModTranslations { - } - - private final String defaultResourceName; -- private final RemoteResourceManager.RemoteResourceKey remoteResourceKey; - private List<Mod> mods; - private Map<String, Mod> modIdMap; // mod id -> mod - private Map<String, Mod> curseForgeMap; // curseforge id -> mod -@@ -78,8 +76,6 @@ public enum ModTranslations { - - ModTranslations(String defaultResourceName, String namespace, String name, String version) { - this.defaultResourceName = defaultResourceName; -- -- remoteResourceKey = RemoteResourceManager.get(namespace, name, version, () -> ModTranslations.class.getResourceAsStream(defaultResourceName)); - } - - @Nullable -@@ -127,19 +123,7 @@ public enum ModTranslations { - return true; - } - -- try { -- InputStream inputStream = remoteResourceKey.getResource(); -- if (inputStream == null) { -- return false; -- } -- -- String modData = IOUtils.readFullyAsString(inputStream); -- mods = Arrays.stream(modData.split("\n")).filter(line -> !line.startsWith("#")).map(Mod::new).collect(Collectors.toList()); -- return true; -- } catch (Exception e) { -- LOG.log(Level.WARNING, "Failed to load " + defaultResourceName, e); -- return false; -- } -+ return false; - } - - private boolean loadCurseForgeMap() { -diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/ExecutableHeaderHelper.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/ExecutableHeaderHelper.java +diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/ExecutableHeaderHelper.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/ExecutableHeaderHelper.java deleted file mode 100644 -index e5c9ccb5f..000000000 ---- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/ExecutableHeaderHelper.java +index 7c47f586d..000000000 +--- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/ExecutableHeaderHelper.java +++ /dev/null @@ -1,124 +0,0 @@ -/* @@ -1174,7 +1113,7 @@ index e5c9ccb5f..000000000 - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ --package org.jackhuang.hmcl.upgrade.hmcl; +-package org.jackhuang.hmcl.upgrade; - -import java.io.IOException; -import java.io.InputStream; @@ -1281,10 +1220,10 @@ index e5c9ccb5f..000000000 - } - } -} -diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/HMCLDownloadTask.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/HMCLDownloadTask.java +diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/HMCLDownloadTask.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/HMCLDownloadTask.java deleted file mode 100644 -index 0ae8358a5..000000000 ---- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/HMCLDownloadTask.java +index 8b6fdc06c..000000000 +--- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/HMCLDownloadTask.java +++ /dev/null @@ -1,68 +0,0 @@ -/* @@ -1304,7 +1243,7 @@ index 0ae8358a5..000000000 - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ --package org.jackhuang.hmcl.upgrade.hmcl; +-package org.jackhuang.hmcl.upgrade; - -import org.jackhuang.hmcl.task.FileDownloadTask; -import org.jackhuang.hmcl.util.Pack200Utils; @@ -1355,10 +1294,10 @@ index 0ae8358a5..000000000 - } - -} -diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/IntegrityChecker.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/IntegrityChecker.java +diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/IntegrityChecker.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/IntegrityChecker.java deleted file mode 100644 -index 8833f94c0..000000000 ---- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/IntegrityChecker.java +index d03600e2e..000000000 +--- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/IntegrityChecker.java +++ /dev/null @@ -1,146 +0,0 @@ -/* @@ -1378,7 +1317,7 @@ index 8833f94c0..000000000 - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ --package org.jackhuang.hmcl.upgrade.hmcl; +-package org.jackhuang.hmcl.upgrade; - -import org.jackhuang.hmcl.Metadata; -import org.jackhuang.hmcl.util.DigestUtils; @@ -1507,10 +1446,10 @@ index 8833f94c0..000000000 - return isSelfVerified() || (Metadata.GITHUB_SHA != null && Metadata.BUILD_CHANNEL.equals("nightly")); - } -} -diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/RemoteVersion.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/RemoteVersion.java +diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/RemoteVersion.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/RemoteVersion.java deleted file mode 100644 -index 776881aca..000000000 ---- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/RemoteVersion.java +index c3ac2caaf..000000000 +--- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/RemoteVersion.java +++ /dev/null @@ -1,96 +0,0 @@ -/* @@ -1530,7 +1469,7 @@ index 776881aca..000000000 - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ --package org.jackhuang.hmcl.upgrade.hmcl; +-package org.jackhuang.hmcl.upgrade; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; @@ -1609,10 +1548,10 @@ index 776881aca..000000000 - JAR - } -} -diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateChannel.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateChannel.java +diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChannel.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChannel.java deleted file mode 100644 -index f56d645dd..000000000 ---- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateChannel.java +index 998a3da7d..000000000 +--- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChannel.java +++ /dev/null @@ -1,42 +0,0 @@ -/* @@ -1632,7 +1571,7 @@ index f56d645dd..000000000 - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ --package org.jackhuang.hmcl.upgrade.hmcl; +-package org.jackhuang.hmcl.upgrade; - -import org.jackhuang.hmcl.Metadata; - @@ -1657,12 +1596,12 @@ index f56d645dd..000000000 - } - } -} -diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateChecker.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateChecker.java +diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChecker.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChecker.java deleted file mode 100644 -index d26c10a0b..000000000 ---- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateChecker.java +index 10569497b..000000000 +--- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChecker.java +++ /dev/null -@@ -1,125 +0,0 @@ +@@ -1,124 +0,0 @@ -/* - * Hello Minecraft! Launcher - * Copyright (C) 2020 huangyuhui <huanghongxun2008@126.com> and contributors @@ -1680,7 +1619,7 @@ index d26c10a0b..000000000 - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ --package org.jackhuang.hmcl.upgrade.hmcl; +-package org.jackhuang.hmcl.upgrade; - -import javafx.application.Platform; -import javafx.beans.binding.Bindings; @@ -1697,13 +1636,12 @@ index d26c10a0b..000000000 -import static org.jackhuang.hmcl.util.Lang.thread; -import static org.jackhuang.hmcl.util.Logging.LOG; -import static org.jackhuang.hmcl.util.Pair.pair; --import static org.jackhuang.hmcl.util.versioning.VersionNumber.asVersion; - -public final class UpdateChecker { - private UpdateChecker() {} - -- private static ObjectProperty<RemoteVersion> latestVersion = new SimpleObjectProperty<>(); -- private static BooleanBinding outdated = Bindings.createBooleanBinding( +- private static final ObjectProperty<RemoteVersion> latestVersion = new SimpleObjectProperty<>(); +- private static final BooleanBinding outdated = Bindings.createBooleanBinding( - () -> { - RemoteVersion latest = latestVersion.get(); - if (latest == null || isDevelopmentVersion(Metadata.VERSION)) { @@ -1711,11 +1649,11 @@ index d26c10a0b..000000000 - } else { - // We can update from development version to stable version, - // which can be downgrading. -- return asVersion(latest.getVersion()).compareTo(asVersion(Metadata.VERSION)) != 0; +- return !latest.getVersion().equals(Metadata.VERSION); - } - }, - latestVersion); -- private static ReadOnlyBooleanWrapper checkingUpdate = new ReadOnlyBooleanWrapper(false); +- private static final ReadOnlyBooleanWrapper checkingUpdate = new ReadOnlyBooleanWrapper(false); - - public static void init() { - requestCheckUpdate(UpdateChannel.getChannel()); @@ -1788,10 +1726,10 @@ index d26c10a0b..000000000 - }); - } -} -diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateHandler.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateHandler.java +diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateHandler.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateHandler.java deleted file mode 100644 -index f027fff1e..000000000 ---- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/hmcl/UpdateHandler.java +index eb2d179a8..000000000 +--- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateHandler.java +++ /dev/null @@ -1,282 +0,0 @@ -/* @@ -1811,7 +1749,7 @@ index f027fff1e..000000000 - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ --package org.jackhuang.hmcl.upgrade.hmcl; +-package org.jackhuang.hmcl.upgrade; - -import com.google.gson.Gson; -import com.google.gson.JsonParseException; @@ -2076,226 +2014,16 @@ index f027fff1e..000000000 - } - } -} -diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/resource/RemoteResourceManager.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/resource/RemoteResourceManager.java -deleted file mode 100644 -index b9c4a31db..000000000 ---- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/resource/RemoteResourceManager.java -+++ /dev/null -@@ -1,204 +0,0 @@ --/* -- * Hello Minecraft! Launcher -- * Copyright (C) 2020 huangyuhui <huanghongxun2008@126.com> and contributors -- * -- * This program is free software: you can redistribute it and/or modify -- * it under the terms of the GNU General Public License as published by -- * the Free Software Foundation, either version 3 of the License, or -- * (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU General Public License for more details. -- * -- * You should have received a copy of the GNU General Public License -- * along with this program. If not, see <https://www.gnu.org/licenses/>. -- */ --package org.jackhuang.hmcl.upgrade.resource; -- --import com.google.gson.annotations.SerializedName; --import com.google.gson.reflect.TypeToken; --import org.jackhuang.hmcl.Metadata; --import org.jackhuang.hmcl.task.FileDownloadTask; --import org.jackhuang.hmcl.task.Schedulers; --import org.jackhuang.hmcl.task.Task; --import org.jackhuang.hmcl.ui.versions.ModTranslations; --import org.jackhuang.hmcl.upgrade.hmcl.IntegrityChecker; --import org.jackhuang.hmcl.util.DigestUtils; --import org.jackhuang.hmcl.util.function.ExceptionalSupplier; --import org.jackhuang.hmcl.util.io.HttpRequest; --import org.jackhuang.hmcl.util.io.IOUtils; --import org.jackhuang.hmcl.util.io.NetworkUtils; --import org.jetbrains.annotations.NotNull; --import org.jetbrains.annotations.Nullable; -- --import java.io.ByteArrayInputStream; --import java.io.IOException; --import java.io.InputStream; --import java.nio.file.Files; --import java.nio.file.Path; --import java.util.Arrays; --import java.util.Map; --import java.util.Optional; --import java.util.concurrent.ConcurrentHashMap; --import java.util.stream.Collectors; -- --public final class RemoteResourceManager { -- private RemoteResourceManager() { -- } -- -- private static final class RemoteResource { -- @SerializedName("sha1") -- private final String sha1; -- -- @SerializedName("urls") -- private final String[] urls; -- -- private transient byte[] data = null; -- -- private RemoteResource(String sha1, String[] urls) { -- this.sha1 = sha1; -- this.urls = urls; -- } -- -- public void download(Path path, Runnable callback) { -- if (data != null) { -- return; -- } -- -- new FileDownloadTask(Arrays.stream(urls).map(NetworkUtils::toURL).collect(Collectors.toList()), path.toFile(), new FileDownloadTask.IntegrityCheck("SHA-1", sha1)) -- .whenComplete(Schedulers.defaultScheduler(), (result, exception) -> { -- if (exception != null) { -- data = Files.readAllBytes(path); -- callback.run(); -- } -- }).start(); -- } -- } -- -- public static final class RemoteResourceKey { -- private final String namespace; -- private final String name; -- private final String version; -- private final Path cachePath; -- private final ExceptionalSupplier<InputStream, IOException> localResourceSupplier; -- private String localResourceSha1 = null; -- -- public RemoteResourceKey(String namespace, String name, String version, ExceptionalSupplier<InputStream, IOException> localResourceSupplier) { -- this.namespace = namespace; -- this.name = name; -- this.version = version; -- this.localResourceSupplier = localResourceSupplier; -- -- this.cachePath = Metadata.HMCL_DIRECTORY.resolve("remoteResources").resolve(namespace).resolve(name).resolve(version).resolve(String.format("%s-%s-%s.resource", namespace, name, version)); -- } -- -- private InputStream getLocalResource() throws IOException { -- if (Files.isReadable(cachePath)) { -- return Files.newInputStream(cachePath); -- } -- return localResourceSupplier.get(); -- } -- -- private String getLocalResourceSha1() throws IOException { -- if (localResourceSha1 == null) { -- localResourceSha1 = DigestUtils.digestToString("SHA-1", IOUtils.readFullyAsByteArray(getLocalResource())); -- } -- -- return localResourceSha1; -- } -- -- @Nullable -- private RemoteResource getRemoteResource() { -- return Optional.ofNullable(remoteResources.get(namespace)).map(map -> map.get(name)).map(map -> map.get(version)).orElse(null); -- } -- -- @Nullable -- public InputStream getResource() throws IOException { -- RemoteResource remoteResource = getRemoteResource(); -- -- if (remoteResource == null) { -- return getLocalResource(); -- } -- -- if (remoteResource.sha1.equals(getLocalResourceSha1())) { -- return getLocalResource(); -- } -- -- if (remoteResource.data == null) { -- return null; -- } -- -- return new ByteArrayInputStream(remoteResource.data); -- } -- -- public void downloadRemoteResourceIfNecessary() throws IOException { -- RemoteResource remoteResource = getRemoteResource(); -- -- if (remoteResource == null) { -- return; -- } -- -- if (remoteResource.sha1.equals(getLocalResourceSha1())) { -- return; -- } -- -- remoteResource.download(cachePath, () -> localResourceSha1 = null); -- } -- -- @Override -- public boolean equals(Object o) { -- if (this == o) return true; -- if (o == null || getClass() != o.getClass()) return false; -- -- RemoteResourceKey that = (RemoteResourceKey) o; -- -- if (!namespace.equals(that.namespace)) return false; -- if (!name.equals(that.name)) return false; -- return version.equals(that.version); -- } -- -- @Override -- public int hashCode() { -- int result = namespace.hashCode(); -- result = 31 * result + name.hashCode(); -- result = 31 * result + version.hashCode(); -- return result; -- } -- } -- -- private static final Map<String, Map<String, Map<String, RemoteResource>>> remoteResources = new ConcurrentHashMap<>(); -- -- private static final Map<String, RemoteResourceKey> keys = new ConcurrentHashMap<>(); -- -- public static void init() { -- Task.<Map<String, Map<String, Map<String, RemoteResource>>>>supplyAsync(() -> -- IntegrityChecker.isSelfVerified() ? HttpRequest.GET(Metadata.RESOURCE_UPDATE_URL).getJson( -- new TypeToken<Map<String, Map<String, Map<String, RemoteResource>>>>() { -- }.getType() -- ) : null -- ).whenComplete(Schedulers.defaultScheduler(), (result, exception) -> { -- if (exception == null && result != null) { -- remoteResources.clear(); -- remoteResources.putAll(result); -- -- for (RemoteResourceKey key : keys.values()) { -- key.downloadRemoteResourceIfNecessary(); -- } -- } -- }).start(); -- } -- -- public static void register() { -- ModTranslations.values(); -- } -- -- public static RemoteResourceKey get(@NotNull String namespace, @NotNull String name, @NotNull String version, ExceptionalSupplier<InputStream, IOException> defaultSupplier) { -- String stringKey = String.format("%s:%s:%s", namespace, name, version); -- RemoteResourceKey key = keys.containsKey(stringKey) ? keys.get(stringKey) : new RemoteResourceKey(namespace, name, version, defaultSupplier); -- Task.runAsync(key::downloadRemoteResourceIfNecessary).start(); -- keys.put(stringKey, key); -- return key; -- } --} diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/util/CrashReporter.java b/HMCL/src/main/java/org/jackhuang/hmcl/util/CrashReporter.java -index 5e5e28fe5..ba2158ac2 100644 +index f1d00548f..ba2158ac2 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/util/CrashReporter.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/util/CrashReporter.java @@ -23,8 +23,6 @@ import javafx.scene.control.Alert.AlertType; import org.jackhuang.hmcl.Metadata; import org.jackhuang.hmcl.countly.CrashReport; import org.jackhuang.hmcl.ui.CrashWindow; --import org.jackhuang.hmcl.upgrade.hmcl.IntegrityChecker; --import org.jackhuang.hmcl.upgrade.hmcl.UpdateChecker; +-import org.jackhuang.hmcl.upgrade.IntegrityChecker; +-import org.jackhuang.hmcl.upgrade.UpdateChecker; import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.IOException; @@ -2326,5 +2054,5 @@ index 984cdfd79..7fd482fca 100644 } } -- -2.43.0 +2.43.2 @@ -1,4 +1,3 @@ -# shellcheck shell=bash # Maintainer: detiam <dehe_tian <at> outlook <dot> com> # Contributor: AvianaCruz <gwencroft <at> proton <dot> me> # Contributor: Rowisi < nomail <at> private <dot> com > @@ -7,74 +6,115 @@ pkgname=hmcl-java-run _pkgname=HMCL _ver=3.5.5 -_build=235 -_pkgver=ffeabbf1f144ba14462e27c2ac9d46e231c1482e +_build=236 +_pkgver=$_ver.$_build _java_version=17 _jar_path="/usr/share/java/$pkgname.jar" pkgver=$_ver.$_build pkgrel=1 pkgdesc='An unofficial build of HMCL that use aur/archlinux-java-run to select java version with javaFX (with aur/hmcl-new changes)' arch=('any') -url='https://github.com/huanghongxun/HMCL' +url='https://github.com/HMCL-dev/HMCL' license=('GPL3') depends=("java-runtime>=$_java_version" "java-openjfx>=$_java_version" 'hicolor-icon-theme' 'archlinux-java-run') makedepends=("java-environment>=$_java_version" 'gradle') provides=('hmcl') conflicts=('hmcl') -source=('hmcl.desktop' - 'hmcl-launch-script' - "${_pkgname}-${_pkgver}.tar.gz::${url}/archive/${_pkgver}.tar.gz" - "0001-Target-Java-$_java_version.patch" - "0002-Cleanup.patch") -sha256sums=('6a6f664c3569bd398528dbc3e50b78519d765f1ef8a32f98e1efbf514185cce3' - '505c335bce8685fff97f6fbd0c4b916fa697dfc73ff22735d7c188b3811bc422' - '1e152212e1507d49c867fe8715c4ec337972795cd9f4947e285677a56257cb3d' - 'c650fa0d34f22f9700dd047fbe243a63528c629312b94f499d4aa341b9b5193f' - '3eb85d8b6f1affcf33fb1e5ec12127eac4962d0c980e2884ccf954578e12a131') +source=("${_pkgname}-v${_pkgver}.tar.gz::${url}/archive/v${_pkgver}.tar.gz" + "0001-Target-Java-$_java_version.patch" + "0002-Cleanup.patch") +sha256sums=('c5bbb74809e1d66684f8370816b5e15dae149337eaadac0ae30f246ccfc80dd1' + 'c395ad622cf81a07d5738f6c20b845b51c900fd1aa0e9b87fd8ea415b8fac646' + 'f723aebb63bd414bdd86e41c9795686fa0b409ddb339b5bc953b3c9097a76b02') prepare() { - cd "$_pkgname-$_pkgver" - local src - for src in "${source[@]}"; do - src="${src%%::*}" - src="${src##*/}" - [[ $src == *.patch ]] || continue - patch -Np1 <"../$src" - done + for patch in "${source[@]}"; do + if [[ $patch == *.patch ]]; then + msg2 "applying $patch" + patch -d "$_pkgname-$_pkgver" -Np1 < "$patch" + fi + done } build() { - cd "$_pkgname-$_pkgver" - VERSION_TYPE=stable \ - VERSION_ROOT="$_ver" BUILD_NUMBER="$_build" \ - MICROSOFT_AUTH_ID='6a3728d6-27a3-4180-99bb-479895b8f88e' MICROSOFT_AUTH_SECRET='dR.50SWwVez4-PQOF2-e_2GHmC~4Xl-p4p' \ - CURSEFORGE_API_KEY='$2a$10$o8pygPrhvKBHuuh5imL2W.LCNFhB15zBYAExXx/TqTx/Zp5px2lxu' \ - gradle build -x test --no-daemon \ - -D 'org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m' + cd "$_pkgname-$_pkgver" + # shellcheck disable=SC2016 + VERSION_TYPE=stable \ + VERSION_ROOT="$_ver" BUILD_NUMBER="$_build" \ + MICROSOFT_AUTH_ID='6a3728d6-27a3-4180-99bb-479895b8f88e' MICROSOFT_AUTH_SECRET='dR.50SWwVez4-PQOF2-e_2GHmC~4Xl-p4p' \ + CURSEFORGE_API_KEY='$2a$10$o8pygPrhvKBHuuh5imL2W.LCNFhB15zBYAExXx/TqTx/Zp5px2lxu' \ + gradle build -x test --no-daemon \ + -D 'org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m' } check() { - cd "$_pkgname-$_pkgver" - gradle test --no-daemon \ - -D 'org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m' + cd "$_pkgname-$_pkgver" + gradle test --no-daemon \ + -D 'org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m' } package() { - install -Dm755 'hmcl-launch-script' "$pkgdir/usr/bin/$pkgname" - install -Dm644 'hmcl.desktop' "$pkgdir/usr/share/applications/$pkgname.desktop" - install -Dm644 "$_pkgname-$_pkgver/HMCL/build/libs/$_pkgname-$pkgver.jar" "$pkgdir/$_jar_path" - install -Dm644 "$_pkgname-$_pkgver/HMCL/image/hmcl.png" "$pkgdir/usr/share/icons/hicolor/48x48/apps/$pkgname.png" - install -Dm644 "$_pkgname-$_pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + install -Dm644 "$_pkgname-$_pkgver/HMCL/build/libs/$_pkgname-$pkgver.jar" "$pkgdir/$_jar_path" + install -Dm644 "$_pkgname-$_pkgver/HMCL/image/hmcl.png" "$pkgdir/usr/share/icons/hicolor/48x48/apps/$pkgname.png" + install -Dm644 "$_pkgname-$_pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" - sed -i \ - -e "s|%JAVA_VERSION%|$_java_version|g" \ - -e "s|%JAR_PATH%|$_jar_path|g" \ - "$pkgdir/usr/bin/$pkgname" - - sed -i \ - -e "s|%PROJECT_NAME_SHORT%|$_pkgname|g" \ - -e "s|%PROJECT_NAME%|$pkgname|g" \ - -e "s|%PROJECT_DESC%|$pkgdesc|g" \ - -e "s|%WM_CLASS%|org.jackhuang.hmcl.Launcher|g" \ - "$pkgdir/usr/share/applications/$pkgname.desktop" + install -Dm755 <(sed -e "s|%JAVA_VERSION%|$_java_version|g" -e "s|%JAR_PATH%|$_jar_path|g" <<- SCRIPT + #!/usr/bin/env sh + set -eu + + print_usage() { + cat <<- EOF + usage: \$(basename "\$0") [-h/-p] [args passed to java] + + Options: + -h --help: + Print this message + --hmcl-global: + Use "\${XDG_DATA_HOME:-\$HOME/.local/share}/hmcl" as working directory + EOF + exit 0 + } + + args='' + for arg in "\$@" ; do + case "\$arg" in + -h|--help) + print_usage + ;; + --hmcl-global) + printf 'Global mode\n\n' + WORKDIR=\${XDG_DATA_HOME:-\$HOME/.local/share}/hmcl + mkdir -p "\$WORKDIR" + cd "\$WORKDIR" || exit 2 + ;; + *) + args="\$args \$arg" + ;; + esac + done + + env GDK_CORE_DEVICE_EVENTS=1 archlinux-java-run -f 'javafx' -a '%JAVA_VERSION%' -- -jar '%JAR_PATH%' "\$args" + + SCRIPT + ) "$pkgdir/usr/bin/$pkgname" + + install -Dm755 <(sed \ + -e "s|%PROJECT_NAME_SHORT%|$_pkgname|g" \ + -e "s|%PROJECT_NAME%|$pkgname|g" \ + -e "s|%PROJECT_DESC%|$pkgdesc|g" \ + -e "s|%WM_CLASS%|org.jackhuang.hmcl.Launcher|g" <<- DESKTOP + [Desktop Entry] + Version=1.0 + Type=Application + Name=%PROJECT_NAME_SHORT% + Comment=%PROJECT_DESC% + Exec=%PROJECT_NAME% --hmcl-global %U + Icon=%PROJECT_NAME% + Terminal=false + StartupNotify=true + Categories=Game; + StartupWMClass=%WM_CLASS% + + DESKTOP + ) "$pkgdir/usr/share/applications/$pkgname.desktop" } diff --git a/hmcl-launch-script b/hmcl-launch-script deleted file mode 100755 index 743e7ab4ec0f..000000000000 --- a/hmcl-launch-script +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env sh -set -eu - -print_usage() { - cat <<EOF -usage: $(basename "$0") [-h/-p] [args passed to java] - -Options: - -h --help: - Print this message - --hmcl-global: - Use "\${XDG_DATA_HOME:-\$HOME/.local/share}/hmcl" as working directory -EOF - exit 0 -} - -args='' -for arg in "$@" ; do - case "$arg" in - -h|--help) - print_usage - ;; - --hmcl-global) - printf 'Global mode\n\n' - WORKDIR=${XDG_DATA_HOME:-$HOME/.local/share}/hmcl - mkdir -p "$WORKDIR" - cd "$WORKDIR" || exit 2 - ;; - *) - args="$args $arg" - ;; - esac -done - -env GDK_CORE_DEVICE_EVENTS=1 archlinux-java-run -f 'javafx' -a '%JAVA_VERSION%' -- -jar '%JAR_PATH%' "$args" diff --git a/hmcl.desktop b/hmcl.desktop deleted file mode 100644 index 687ad501194b..000000000000 --- a/hmcl.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Name=%PROJECT_NAME_SHORT% -Comment=%PROJECT_DESC% -Exec=%PROJECT_NAME% --hmcl-global %U -Icon=%PROJECT_NAME% -Terminal=false -StartupNotify=true -Categories=Game; -StartupWMClass=%WM_CLASS% |