diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/Launcher.java b/HMCL/src/main/java/org/jackhuang/hmcl/Launcher.java index cc5dff852..c3f2c65f1 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/Launcher.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/Launcher.java @@ -26,6 +26,8 @@ import org.jackhuang.hmcl.task.Schedulers; import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.upgrade.UpdateChecker; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.io.File; import java.io.IOException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/AccountHelper.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/AccountHelper.java index b576f0978..d632ca9f0 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/AccountHelper.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/AccountHelper.java @@ -30,7 +30,7 @@ import org.jackhuang.hmcl.task.Scheduler; import org.jackhuang.hmcl.task.Schedulers; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.ui.DialogController; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.File; import java.util.*; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.java index 5ae8b0d88..9820a5c9b 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.java @@ -26,8 +26,8 @@ import org.jackhuang.hmcl.setting.EnumGameDirectory; import org.jackhuang.hmcl.setting.Profile; import org.jackhuang.hmcl.setting.Settings; import org.jackhuang.hmcl.setting.VersionSetting; -import org.jackhuang.hmcl.util.FileUtils; import org.jackhuang.hmcl.util.Logging; +import org.jackhuang.hmcl.util.io.FileUtils; import java.io.File; import java.io.IOException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackExportTask.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackExportTask.java index 347861c4c..32d57b26b 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackExportTask.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackExportTask.java @@ -21,7 +21,7 @@ import org.jackhuang.hmcl.mod.Modpack; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.Constants; import org.jackhuang.hmcl.util.Logging; -import org.jackhuang.hmcl.util.Zipper; +import org.jackhuang.hmcl.util.io.Zipper; import java.io.File; import java.util.ArrayList; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackInstallTask.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackInstallTask.java index f3a223794..43503d059 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackInstallTask.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackInstallTask.java @@ -27,9 +27,9 @@ import org.jackhuang.hmcl.mod.ModpackConfiguration; import org.jackhuang.hmcl.mod.ModpackInstallTask; import org.jackhuang.hmcl.setting.Profile; import org.jackhuang.hmcl.task.Task; -import org.jackhuang.hmcl.util.CompressingUtils; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.FileUtils; +import org.jackhuang.hmcl.util.io.CompressingUtils; +import org.jackhuang.hmcl.util.io.FileUtils; import java.io.File; import java.io.IOException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackManager.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackManager.java index 3aad7431e..e4d9142b8 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackManager.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLModpackManager.java @@ -19,10 +19,10 @@ package org.jackhuang.hmcl.game; import com.google.gson.JsonParseException; import org.jackhuang.hmcl.mod.Modpack; -import org.jackhuang.hmcl.util.CompressingUtils; import org.jackhuang.hmcl.util.JsonUtils; import org.jackhuang.hmcl.util.Lang; import org.jackhuang.hmcl.util.StringUtils; +import org.jackhuang.hmcl.util.io.CompressingUtils; import java.io.File; import java.io.IOException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java index a4206e683..9aabc428b 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java @@ -41,6 +41,13 @@ import org.jackhuang.hmcl.ui.construct.DialogCloseEvent; import org.jackhuang.hmcl.ui.construct.MessageBox; import org.jackhuang.hmcl.ui.construct.TaskExecutorDialogPane; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.function.ExceptionalSupplier; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.platform.CommandBuilder; +import org.jackhuang.hmcl.util.platform.JavaVersion; +import org.jackhuang.hmcl.util.platform.ManagedProcess; +import org.jackhuang.hmcl.util.platform.OperatingSystem; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import java.io.File; import java.io.IOException; @@ -281,13 +288,13 @@ public final class LauncherHelper { } } - if (!flag && java.getPlatform() == org.jackhuang.hmcl.util.Platform.BIT_32 && - org.jackhuang.hmcl.util.Platform.IS_64_BIT) { + if (!flag && java.getPlatform() == org.jackhuang.hmcl.util.platform.Platform.BIT_32 && + org.jackhuang.hmcl.util.platform.Platform.IS_64_BIT) { final JavaVersion java32 = java; // First find if same java version but whose platform is 64-bit installed. Optional java64 = JavaVersion.getJREs().stream() - .filter(javaVersion -> javaVersion.getPlatform() == org.jackhuang.hmcl.util.Platform.PLATFORM) + .filter(javaVersion -> javaVersion.getPlatform() == org.jackhuang.hmcl.util.platform.Platform.PLATFORM) .filter(javaVersion -> javaVersion.getParsedVersion() == java32.getParsedVersion()) .max(Comparator.comparing(JavaVersion::getVersionNumber)); @@ -296,7 +303,7 @@ public final class LauncherHelper { // Then find if other java version which satisfies requirements installed. java64 = JavaVersion.getJREs().stream() - .filter(javaVersion -> javaVersion.getPlatform() == org.jackhuang.hmcl.util.Platform.PLATFORM) + .filter(javaVersion -> javaVersion.getPlatform() == org.jackhuang.hmcl.util.platform.Platform.PLATFORM) .filter(javaVersion -> { if (java8requiredFinal) return javaVersion.getParsedVersion() == JavaVersion.JAVA_8; if (newJavaRequiredFinal) return javaVersion.getParsedVersion() >= JavaVersion.JAVA_8; @@ -313,7 +320,7 @@ public final class LauncherHelper { } } - if (!flag && java.getPlatform() == org.jackhuang.hmcl.util.Platform.BIT_32 && + if (!flag && java.getPlatform() == org.jackhuang.hmcl.util.platform.Platform.BIT_32 && setting.getMaxMemory() > 1.5 * 1024) { // 1.5 * 1024 is an inaccurate number. // Actual memory limit depends on operating system and memory. diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/ModpackHelper.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/ModpackHelper.java index f399a21d3..8342311ca 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/ModpackHelper.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/ModpackHelper.java @@ -26,8 +26,8 @@ import org.jackhuang.hmcl.setting.VersionSetting; import org.jackhuang.hmcl.task.FinalizedCallback; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.FileUtils; import org.jackhuang.hmcl.util.Lang; +import org.jackhuang.hmcl.util.io.FileUtils; import java.io.File; import java.io.FileNotFoundException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Config.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Config.java index 02def50ee..29ddac609 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Config.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Config.java @@ -35,11 +35,11 @@ import org.hildan.fxgson.factories.JavaFxPropertyTypeAdapterFactory; import org.jackhuang.hmcl.Launcher; import org.jackhuang.hmcl.auth.authlibinjector.AuthlibInjectorServer; import org.jackhuang.hmcl.upgrade.UpdateChannel; -import org.jackhuang.hmcl.util.EnumOrdinalDeserializer; -import org.jackhuang.hmcl.util.FileTypeAdapter; -import org.jackhuang.hmcl.util.ObservableHelper; +import org.jackhuang.hmcl.util.gson.EnumOrdinalDeserializer; +import org.jackhuang.hmcl.util.gson.FileTypeAdapter; import org.jackhuang.hmcl.util.i18n.Locales; import org.jackhuang.hmcl.util.i18n.Locales.SupportedLocale; +import org.jackhuang.hmcl.util.javafx.ObservableHelper; import java.io.File; import java.lang.reflect.Modifier; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigHolder.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigHolder.java index 41130ec76..e49b142ca 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigHolder.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigHolder.java @@ -19,7 +19,6 @@ package org.jackhuang.hmcl.setting; import com.google.gson.Gson; import com.google.gson.JsonParseException; -import org.jackhuang.hmcl.util.OperatingSystem; import java.io.IOException; import java.nio.file.Files; @@ -28,6 +27,8 @@ import java.nio.file.Paths; import java.util.Map; import java.util.logging.Level; +import org.jackhuang.hmcl.util.platform.OperatingSystem; + import static java.nio.charset.StandardCharsets.UTF_8; import static org.jackhuang.hmcl.util.Logging.LOG; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigUpgrader.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigUpgrader.java index f89408111..c220e73dc 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigUpgrader.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/ConfigUpgrader.java @@ -20,7 +20,7 @@ package org.jackhuang.hmcl.setting; import org.jackhuang.hmcl.auth.offline.OfflineAccount; import org.jackhuang.hmcl.auth.offline.OfflineAccountFactory; import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; import java.util.LinkedList; import java.util.List; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profile.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profile.java index a5b58e64e..b1f130694 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profile.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profile.java @@ -31,6 +31,9 @@ import org.jackhuang.hmcl.game.Version; import org.jackhuang.hmcl.mod.ModManager; import org.jackhuang.hmcl.ui.WeakListenerHolder; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.javafx.ImmediateObjectProperty; +import org.jackhuang.hmcl.util.javafx.ImmediateStringProperty; +import org.jackhuang.hmcl.util.javafx.ObservableHelper; import java.io.File; import java.lang.reflect.Type; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Theme.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Theme.java index d143eacdf..9b9fa0569 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Theme.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/Theme.java @@ -22,9 +22,10 @@ import com.google.gson.stream.JsonWriter; import javafx.beans.binding.Bindings; import javafx.beans.binding.ObjectBinding; import javafx.scene.paint.Color; -import org.jackhuang.hmcl.util.FileUtils; -import org.jackhuang.hmcl.util.IOUtils; + import org.jackhuang.hmcl.util.Logging; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.io.IOUtils; import java.io.File; import java.io.IOException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/VersionSetting.java b/HMCL/src/main/java/org/jackhuang/hmcl/setting/VersionSetting.java index 43af5831c..2017ff97a 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/setting/VersionSetting.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/setting/VersionSetting.java @@ -22,6 +22,12 @@ import javafx.beans.InvalidationListener; import org.jackhuang.hmcl.Metadata; import org.jackhuang.hmcl.game.LaunchOptions; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.javafx.ImmediateBooleanProperty; +import org.jackhuang.hmcl.util.javafx.ImmediateIntegerProperty; +import org.jackhuang.hmcl.util.javafx.ImmediateObjectProperty; +import org.jackhuang.hmcl.util.javafx.ImmediateStringProperty; +import org.jackhuang.hmcl.util.platform.JavaVersion; +import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.io.File; import java.io.IOException; 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 73d29c4a0..8c08326de 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java @@ -39,7 +39,7 @@ import org.jackhuang.hmcl.ui.profile.ProfileList; import org.jackhuang.hmcl.ui.versions.GameList; import org.jackhuang.hmcl.ui.versions.VersionPage; import org.jackhuang.hmcl.util.FutureCallback; -import org.jackhuang.hmcl.util.JavaVersion; +import org.jackhuang.hmcl.util.platform.JavaVersion; import java.util.function.Consumer; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java index 08c907bbe..bad63bbf7 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java @@ -44,7 +44,11 @@ import javafx.util.Callback; import javafx.util.Duration; import javafx.util.StringConverter; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.function.ExceptionalSupplier; import org.jackhuang.hmcl.util.i18n.I18n; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.javafx.SelectionModelSelectedItemProperty; +import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.io.File; import java.io.IOException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/LogWindow.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/LogWindow.java index 437a336b9..42b9cf3d1 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/LogWindow.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/LogWindow.java @@ -34,10 +34,10 @@ import org.jackhuang.hmcl.event.Event; import org.jackhuang.hmcl.event.EventManager; import org.jackhuang.hmcl.game.LauncherHelper; import org.jackhuang.hmcl.setting.Settings; -import org.jackhuang.hmcl.util.IOUtils; import org.jackhuang.hmcl.util.Lang; import org.jackhuang.hmcl.util.Log4jLevel; import org.jackhuang.hmcl.util.StringUtils; +import org.jackhuang.hmcl.util.io.IOUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/MainPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/MainPage.java index bcf8dbbbd..7d4c9f520 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/MainPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/MainPage.java @@ -39,7 +39,7 @@ import org.jackhuang.hmcl.setting.Theme; import org.jackhuang.hmcl.ui.construct.IconedMenuItem; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; import org.jackhuang.hmcl.ui.versions.Versions; -import org.jackhuang.hmcl.util.VersionNumber; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import java.util.List; import java.util.stream.Collectors; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/SettingsPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/SettingsPage.java index f7a935e91..c6cb464af 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/SettingsPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/SettingsPage.java @@ -46,8 +46,8 @@ import java.util.Objects; import java.util.Optional; import static org.jackhuang.hmcl.setting.ConfigHolder.config; -import static org.jackhuang.hmcl.util.SelectionModelSelectedItemProperty.selectedItemPropertyFor; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; +import static org.jackhuang.hmcl.util.javafx.SelectionModelSelectedItemProperty.selectedItemPropertyFor; public final class SettingsPage extends SettingsView implements DecoratorPage { private final ReadOnlyStringWrapper title = new ReadOnlyStringWrapper(this, "title", i18n("settings.launcher")); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AccountList.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AccountList.java index 946018a1d..9515a5883 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AccountList.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AccountList.java @@ -25,7 +25,7 @@ import org.jackhuang.hmcl.auth.Account; import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.ListPage; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; -import org.jackhuang.hmcl.util.MappedObservableList; +import org.jackhuang.hmcl.util.javafx.MappedObservableList; import static org.jackhuang.hmcl.ui.FXUtils.onInvalidating; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AddAuthlibInjectorServerPane.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AddAuthlibInjectorServerPane.java index d7d567069..d5a3cdca5 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AddAuthlibInjectorServerPane.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AddAuthlibInjectorServerPane.java @@ -31,7 +31,7 @@ import org.jackhuang.hmcl.ui.animation.ContainerAnimations; import org.jackhuang.hmcl.ui.animation.TransitionHandler; import org.jackhuang.hmcl.ui.construct.DialogCloseEvent; import org.jackhuang.hmcl.ui.construct.SpinnerPane; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.IOException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AuthlibInjectorServersPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AuthlibInjectorServersPage.java index 33715e060..22eb3f5dc 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AuthlibInjectorServersPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/AuthlibInjectorServersPage.java @@ -28,7 +28,7 @@ import javafx.scene.layout.VBox; import org.jackhuang.hmcl.auth.authlibinjector.AuthlibInjectorServer; import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; -import org.jackhuang.hmcl.util.MappedObservableList; +import org.jackhuang.hmcl.util.javafx.MappedObservableList; import static org.jackhuang.hmcl.setting.ConfigHolder.config; import static org.jackhuang.hmcl.ui.FXUtils.loadFXML; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/ComponentList.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/ComponentList.java index 1bff3babf..40e364d61 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/ComponentList.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/construct/ComponentList.java @@ -17,6 +17,8 @@ */ package org.jackhuang.hmcl.ui.construct; +import org.jackhuang.hmcl.util.javafx.MappedObservableList; + import javafx.beans.DefaultProperty; import javafx.beans.binding.Bindings; import javafx.beans.property.IntegerProperty; @@ -32,7 +34,6 @@ import javafx.scene.control.Skin; import javafx.scene.control.SkinBase; import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; -import org.jackhuang.hmcl.util.MappedObservableList; @DefaultProperty("content") public class ComponentList extends Control { diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ExportWizardProvider.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ExportWizardProvider.java index 93469c1e4..933ec854a 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ExportWizardProvider.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ExportWizardProvider.java @@ -28,7 +28,7 @@ import org.jackhuang.hmcl.setting.Profile; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.ui.wizard.WizardController; import org.jackhuang.hmcl.ui.wizard.WizardProvider; -import org.jackhuang.hmcl.util.Zipper; +import org.jackhuang.hmcl.util.io.Zipper; import java.io.File; import java.nio.file.Files; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackFileSelectionPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackFileSelectionPage.java index 92c8306d2..e492a9ad9 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackFileSelectionPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackFileSelectionPage.java @@ -31,8 +31,8 @@ import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.ui.construct.NoneMultipleSelectionModel; import org.jackhuang.hmcl.ui.wizard.WizardController; import org.jackhuang.hmcl.ui.wizard.WizardPage; -import org.jackhuang.hmcl.util.FileUtils; import org.jackhuang.hmcl.util.StringUtils; +import org.jackhuang.hmcl.util.io.FileUtils; import java.io.File; import java.util.LinkedList; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfileList.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfileList.java index 5fdabd4bd..d7a7e551c 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfileList.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/profile/ProfileList.java @@ -25,7 +25,7 @@ import org.jackhuang.hmcl.setting.Profile; import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.ListPage; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; -import org.jackhuang.hmcl.util.MappedObservableList; +import org.jackhuang.hmcl.util.javafx.MappedObservableList; import static org.jackhuang.hmcl.ui.FXUtils.onInvalidating; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPage.java index 14d34f7a2..947f83277 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPage.java @@ -9,9 +9,9 @@ import org.jackhuang.hmcl.mod.Datapack; import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.ListPage; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; -import org.jackhuang.hmcl.util.FileUtils; import org.jackhuang.hmcl.util.Logging; -import org.jackhuang.hmcl.util.MappedObservableList; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.javafx.MappedObservableList; import java.io.File; import java.io.IOException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/GameList.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/GameList.java index 1b116a549..f28f66cf0 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/GameList.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/GameList.java @@ -34,8 +34,8 @@ import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.WeakListenerHolder; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; import org.jackhuang.hmcl.ui.download.DownloadWizardProvider; -import org.jackhuang.hmcl.util.VersionNumber; import org.jackhuang.hmcl.util.i18n.I18n; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import java.util.List; import java.util.stream.Collectors; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java index 0b7628f2a..3ae2ea3a2 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java @@ -28,8 +28,8 @@ import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.ui.ListPage; -import org.jackhuang.hmcl.util.FileUtils; import org.jackhuang.hmcl.util.Logging; +import org.jackhuang.hmcl.util.io.FileUtils; import java.io.File; import java.io.IOException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionPage.java index 967bed484..a3d9663dd 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionPage.java @@ -31,7 +31,7 @@ import org.jackhuang.hmcl.setting.Profile; import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.ui.construct.IconedMenuItem; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; -import org.jackhuang.hmcl.util.FileUtils; +import org.jackhuang.hmcl.util.io.FileUtils; import java.io.File; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionSettingsPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionSettingsPage.java index fdec7553c..5ab4b840b 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionSettingsPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/VersionSettingsPage.java @@ -46,10 +46,10 @@ import org.jackhuang.hmcl.ui.construct.ComponentList; import org.jackhuang.hmcl.ui.construct.ImagePickerItem; import org.jackhuang.hmcl.ui.construct.MultiFileItem; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; -import org.jackhuang.hmcl.util.FileUtils; -import org.jackhuang.hmcl.util.JavaVersion; import org.jackhuang.hmcl.util.Logging; -import org.jackhuang.hmcl.util.OperatingSystem; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.platform.JavaVersion; +import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.io.File; import java.io.IOException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/Versions.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/Versions.java index 0ea9890ee..f5cc25694 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/Versions.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/Versions.java @@ -36,8 +36,8 @@ import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.ui.construct.DialogCloseEvent; import org.jackhuang.hmcl.ui.construct.MessageBox; import org.jackhuang.hmcl.ui.export.ExportWizardProvider; -import org.jackhuang.hmcl.util.FileUtils; -import org.jackhuang.hmcl.util.OperatingSystem; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.io.File; import java.io.IOException; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItem.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItem.java index 1273aef45..7854b52df 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItem.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/WorldListItem.java @@ -11,8 +11,8 @@ import javafx.stage.FileChooser; import org.jackhuang.hmcl.game.World; import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.wizard.SinglePageWizardProvider; -import org.jackhuang.hmcl.util.IntVersionNumber; -import org.jackhuang.hmcl.util.VersionNumber; +import org.jackhuang.hmcl.util.versioning.IntVersionNumber; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import java.io.File; import java.text.SimpleDateFormat; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/ExecutableHeaderHelper.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/ExecutableHeaderHelper.java index bd9179f5a..4d60c0600 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/ExecutableHeaderHelper.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/ExecutableHeaderHelper.java @@ -17,8 +17,6 @@ */ package org.jackhuang.hmcl.upgrade; -import org.jackhuang.hmcl.util.IOUtils; - import java.io.IOException; import java.io.InputStream; import java.nio.ByteBuffer; @@ -30,6 +28,8 @@ import java.util.Optional; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; +import org.jackhuang.hmcl.util.io.IOUtils; + import static java.nio.file.StandardOpenOption.*; import static org.jackhuang.hmcl.util.Lang.mapOf; import static org.jackhuang.hmcl.util.Pair.pair; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/HMCLDownloadTask.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/HMCLDownloadTask.java index 9e11f0062..517120e01 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/HMCLDownloadTask.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/HMCLDownloadTask.java @@ -18,7 +18,7 @@ package org.jackhuang.hmcl.upgrade; import org.jackhuang.hmcl.task.FileDownloadTask; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import org.tukaani.xz.XZInputStream; import java.io.ByteArrayInputStream; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/IntegrityChecker.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/IntegrityChecker.java index 7079b4cf4..29ae6021e 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/IntegrityChecker.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/IntegrityChecker.java @@ -18,8 +18,8 @@ package org.jackhuang.hmcl.upgrade; import org.jackhuang.hmcl.util.DigestUtils; -import org.jackhuang.hmcl.util.IOUtils; import org.jackhuang.hmcl.util.JarUtils; +import org.jackhuang.hmcl.util.io.IOUtils; import java.io.IOException; import java.io.InputStream; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/RemoteVersion.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/RemoteVersion.java index fbfcdcd94..8e18cb3c6 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/RemoteVersion.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/RemoteVersion.java @@ -22,7 +22,7 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import org.jackhuang.hmcl.task.FileDownloadTask.IntegrityCheck; import org.jackhuang.hmcl.util.JsonUtils; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.IOException; import java.util.Optional; diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChecker.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChecker.java index 7e04dc6c2..b040c7d52 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChecker.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateChecker.java @@ -24,7 +24,7 @@ import javafx.beans.property.*; import javafx.beans.value.ObservableBooleanValue; import org.jackhuang.hmcl.Metadata; import org.jackhuang.hmcl.setting.ConfigHolder; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.IOException; import java.util.logging.Level; @@ -35,7 +35,7 @@ import static org.jackhuang.hmcl.util.Lang.mapOf; 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.VersionNumber.asVersion; +import static org.jackhuang.hmcl.util.versioning.VersionNumber.asVersion; public final class UpdateChecker { private UpdateChecker() {} diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateHandler.java b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateHandler.java index 0a0ce70be..a8cf44c14 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateHandler.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/upgrade/UpdateHandler.java @@ -29,8 +29,8 @@ import org.jackhuang.hmcl.ui.Controllers; import org.jackhuang.hmcl.ui.construct.DialogCloseEvent; import org.jackhuang.hmcl.ui.construct.MessageBox; import org.jackhuang.hmcl.util.JarUtils; -import org.jackhuang.hmcl.util.JavaVersion; import org.jackhuang.hmcl.util.StringUtils; +import org.jackhuang.hmcl.util.platform.JavaVersion; import javax.swing.*; import java.io.IOException; 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 f2488daed..392eafa0d 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/util/CrashReporter.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/util/CrashReporter.java @@ -23,6 +23,8 @@ import org.jackhuang.hmcl.ui.CrashWindow; import org.jackhuang.hmcl.ui.construct.MessageBox; import org.jackhuang.hmcl.upgrade.IntegrityChecker; import org.jackhuang.hmcl.upgrade.UpdateChecker; +import org.jackhuang.hmcl.util.io.NetworkUtils; +import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.io.IOException; import java.text.SimpleDateFormat; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/Account.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/Account.java index ab0274492..7215b36b7 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/Account.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/Account.java @@ -20,8 +20,9 @@ package org.jackhuang.hmcl.auth; import javafx.application.Platform; import javafx.beans.InvalidationListener; import javafx.beans.Observable; -import org.jackhuang.hmcl.util.ObservableHelper; + import org.jackhuang.hmcl.util.ToStringBuilder; +import org.jackhuang.hmcl.util.javafx.ObservableHelper; import java.util.Map; import java.util.Optional; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorAccount.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorAccount.java index a96ec83a7..39ba2f071 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorAccount.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorAccount.java @@ -25,9 +25,9 @@ import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilService; import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilSession; import org.jackhuang.hmcl.game.Arguments; import org.jackhuang.hmcl.task.GetTask; -import org.jackhuang.hmcl.util.ExceptionalSupplier; import org.jackhuang.hmcl.util.Lang; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.function.ExceptionalSupplier; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.IOException; import java.util.*; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorAccountFactory.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorAccountFactory.java index d664d861b..3c5c91611 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorAccountFactory.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorAccountFactory.java @@ -22,7 +22,7 @@ import org.jackhuang.hmcl.auth.AuthenticationException; import org.jackhuang.hmcl.auth.CharacterSelector; import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilService; import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilSession; -import org.jackhuang.hmcl.util.ExceptionalSupplier; +import org.jackhuang.hmcl.util.function.ExceptionalSupplier; import java.io.IOException; import java.util.Map; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorDownloader.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorDownloader.java index 77a4df615..fe909c109 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorDownloader.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorDownloader.java @@ -23,7 +23,7 @@ import org.jackhuang.hmcl.download.DownloadProvider; import org.jackhuang.hmcl.task.FileDownloadTask; import org.jackhuang.hmcl.task.FileDownloadTask.IntegrityCheck; import org.jackhuang.hmcl.util.JsonUtils; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.IOException; import java.net.URL; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorProvider.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorProvider.java index 6276a705b..0715d3bde 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorProvider.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorProvider.java @@ -18,8 +18,8 @@ package org.jackhuang.hmcl.auth.authlibinjector; import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilProvider; -import org.jackhuang.hmcl.util.NetworkUtils; -import org.jackhuang.hmcl.util.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.net.URL; import java.util.UUID; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorServer.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorServer.java index b331e9c86..58f84bd44 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorServer.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/authlibinjector/AuthlibInjectorServer.java @@ -21,7 +21,7 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import com.google.gson.JsonPrimitive; import org.jackhuang.hmcl.util.JsonUtils; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.IOException; import java.util.Optional; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccount.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccount.java index 8b294fd83..a1008f4d8 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccount.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccount.java @@ -22,7 +22,7 @@ import org.jackhuang.hmcl.auth.AuthInfo; import org.jackhuang.hmcl.auth.AuthenticationException; import org.jackhuang.hmcl.util.StringUtils; import org.jackhuang.hmcl.util.ToStringBuilder; -import org.jackhuang.hmcl.util.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; import java.util.Map; import java.util.Objects; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccountFactory.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccountFactory.java index cd9a42971..ea5b7c08d 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccountFactory.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/offline/OfflineAccountFactory.java @@ -19,7 +19,7 @@ package org.jackhuang.hmcl.auth.offline; import org.jackhuang.hmcl.auth.AccountFactory; import org.jackhuang.hmcl.auth.CharacterSelector; -import org.jackhuang.hmcl.util.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; import java.util.Map; import java.util.UUID; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/MojangYggdrasilProvider.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/MojangYggdrasilProvider.java index 20e351fc3..dd8a3bf1f 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/MojangYggdrasilProvider.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/MojangYggdrasilProvider.java @@ -1,7 +1,7 @@ package org.jackhuang.hmcl.auth.yggdrasil; -import org.jackhuang.hmcl.util.NetworkUtils; -import org.jackhuang.hmcl.util.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.net.URL; import java.util.UUID; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/User.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/User.java index f7f664bbb..780f91c15 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/User.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/User.java @@ -19,7 +19,7 @@ package org.jackhuang.hmcl.auth.yggdrasil; import com.google.gson.JsonParseException; import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; /** * diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccount.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccount.java index b55d5b9c0..654ca8452 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccount.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccount.java @@ -19,7 +19,7 @@ package org.jackhuang.hmcl.auth.yggdrasil; import org.jackhuang.hmcl.auth.*; import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; import java.util.*; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccountFactory.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccountFactory.java index 77c557670..a5806f1f1 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccountFactory.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccountFactory.java @@ -20,7 +20,7 @@ package org.jackhuang.hmcl.auth.yggdrasil; import org.jackhuang.hmcl.auth.AccountFactory; import org.jackhuang.hmcl.auth.AuthenticationException; import org.jackhuang.hmcl.auth.CharacterSelector; -import org.jackhuang.hmcl.util.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; import java.util.Map; import java.util.Objects; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilService.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilService.java index 6e6282099..272be3b36 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilService.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilService.java @@ -6,9 +6,9 @@ import com.google.gson.JsonParseException; import org.jackhuang.hmcl.auth.AuthenticationException; import org.jackhuang.hmcl.auth.ServerDisconnectException; import org.jackhuang.hmcl.auth.ServerResponseMalformedException; -import org.jackhuang.hmcl.util.NetworkUtils; import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.IOException; import java.net.URL; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilSession.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilSession.java index fce330102..34215fd0b 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilSession.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilSession.java @@ -3,7 +3,7 @@ package org.jackhuang.hmcl.auth.yggdrasil; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import org.jackhuang.hmcl.auth.AuthInfo; -import org.jackhuang.hmcl.util.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; import java.util.Map; import java.util.Optional; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultCacheRepository.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultCacheRepository.java index f58bde8e9..a42ae7c58 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultCacheRepository.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultCacheRepository.java @@ -21,6 +21,8 @@ import org.jackhuang.hmcl.download.game.LibraryDownloadTask; import org.jackhuang.hmcl.game.Library; import org.jackhuang.hmcl.game.LibraryDownloadInfo; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.io.IOException; import java.nio.file.Files; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultDependencyManager.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultDependencyManager.java index 21af2e93c..e3800b0c2 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultDependencyManager.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultDependencyManager.java @@ -32,7 +32,7 @@ import org.jackhuang.hmcl.game.Version; import org.jackhuang.hmcl.task.ParallelTask; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.AutoTypingMap; -import org.jackhuang.hmcl.util.ExceptionalFunction; +import org.jackhuang.hmcl.util.function.ExceptionalFunction; /** * Note: This class has no state. diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultGameBuilder.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultGameBuilder.java index 4786a16d3..08072641e 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultGameBuilder.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultGameBuilder.java @@ -23,7 +23,7 @@ import org.jackhuang.hmcl.task.ParallelTask; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.AutoTypingMap; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.ExceptionalFunction; +import org.jackhuang.hmcl.util.function.ExceptionalFunction; /** * diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/MaintainTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/MaintainTask.java index e9727bd34..d5b4e53f5 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/MaintainTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/MaintainTask.java @@ -22,8 +22,8 @@ import org.jackhuang.hmcl.game.Arguments; import org.jackhuang.hmcl.game.StringArgument; import org.jackhuang.hmcl.game.Version; import org.jackhuang.hmcl.task.TaskResult; -import org.jackhuang.hmcl.util.CommandBuilder; import org.jackhuang.hmcl.util.StringUtils; +import org.jackhuang.hmcl.util.platform.CommandBuilder; import java.util.ArrayList; import java.util.Arrays; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/RemoteVersion.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/RemoteVersion.java index bee1b8dd7..4d76b252d 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/RemoteVersion.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/RemoteVersion.java @@ -18,7 +18,7 @@ package org.jackhuang.hmcl.download; import org.jackhuang.hmcl.util.ToStringBuilder; -import org.jackhuang.hmcl.util.VersionNumber; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import java.util.Objects; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeInstallProfile.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeInstallProfile.java index c856f8ff4..190277ff7 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeInstallProfile.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeInstallProfile.java @@ -21,7 +21,7 @@ import com.google.gson.JsonParseException; import com.google.gson.annotations.SerializedName; import org.jackhuang.hmcl.game.Version; import org.jackhuang.hmcl.util.Immutable; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; /** * 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 596d1ced1..1cb67bb78 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 @@ -25,9 +25,9 @@ import org.jackhuang.hmcl.task.FileDownloadTask; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.task.TaskResult; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.FileUtils; -import org.jackhuang.hmcl.util.IOUtils; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.io.IOUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.*; import java.util.Collection; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersion.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersion.java index d1b7e9bb2..b3b17f5d2 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersion.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersion.java @@ -19,7 +19,7 @@ package org.jackhuang.hmcl.download.forge; import com.google.gson.JsonParseException; import org.jackhuang.hmcl.util.Immutable; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; /** * diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionList.java index c5c6f18df..48764b909 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionList.java @@ -22,9 +22,9 @@ import org.jackhuang.hmcl.download.VersionList; import org.jackhuang.hmcl.task.GetTask; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.NetworkUtils; import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.VersionNumber; +import org.jackhuang.hmcl.util.io.NetworkUtils; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import java.util.*; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionRoot.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionRoot.java index a64985f4d..17c7e488a 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionRoot.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeVersionRoot.java @@ -19,7 +19,7 @@ package org.jackhuang.hmcl.download.forge; import com.google.gson.JsonParseException; import org.jackhuang.hmcl.util.Immutable; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; import java.util.Map; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetDownloadTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetDownloadTask.java index 3be70de6b..687571dc8 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetDownloadTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetDownloadTask.java @@ -25,9 +25,9 @@ import org.jackhuang.hmcl.game.Version; import org.jackhuang.hmcl.task.FileDownloadTask; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.FileUtils; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import org.jackhuang.hmcl.util.CacheRepository; -import org.jackhuang.hmcl.util.NetworkUtils; import java.io.File; import java.util.Collection; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetIndexDownloadTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetIndexDownloadTask.java index d6f7e00dc..82effb52b 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetIndexDownloadTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameAssetIndexDownloadTask.java @@ -23,7 +23,7 @@ import org.jackhuang.hmcl.game.Version; import org.jackhuang.hmcl.task.FileDownloadTask; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.CacheRepository; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.File; import java.util.LinkedList; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameDownloadTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameDownloadTask.java index 458c32bfc..856c5bd2d 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameDownloadTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameDownloadTask.java @@ -23,7 +23,7 @@ import org.jackhuang.hmcl.task.FileDownloadTask; import org.jackhuang.hmcl.task.FileDownloadTask.IntegrityCheck; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.CacheRepository; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.File; import java.util.LinkedList; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameRemoteVersionInfo.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameRemoteVersionInfo.java index 23056d855..c4454396e 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameRemoteVersionInfo.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameRemoteVersionInfo.java @@ -22,7 +22,7 @@ import com.google.gson.annotations.SerializedName; import org.jackhuang.hmcl.game.ReleaseType; import org.jackhuang.hmcl.util.Constants; import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; import java.util.Date; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameVersionList.java index 97c4b51f5..41278937f 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/GameVersionList.java @@ -22,8 +22,8 @@ import org.jackhuang.hmcl.download.VersionList; import org.jackhuang.hmcl.task.GetTask; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.NetworkUtils; import org.jackhuang.hmcl.util.StringUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.util.Collection; import java.util.Collections; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/LibrariesUniqueTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/LibrariesUniqueTask.java index 51c320afa..549c8cfc5 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/LibrariesUniqueTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/LibrariesUniqueTask.java @@ -23,7 +23,7 @@ import org.jackhuang.hmcl.game.Version; import org.jackhuang.hmcl.task.TaskResult; import org.jackhuang.hmcl.util.Constants; import org.jackhuang.hmcl.util.SimpleMultimap; -import org.jackhuang.hmcl.util.VersionNumber; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import java.util.ArrayList; import java.util.HashMap; 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 aee197075..1f9faa43e 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 @@ -6,10 +6,10 @@ import org.jackhuang.hmcl.game.Library; import org.jackhuang.hmcl.task.FileDownloadTask; import org.jackhuang.hmcl.task.FileDownloadTask.IntegrityCheck; import org.jackhuang.hmcl.task.Task; -import org.jackhuang.hmcl.util.FileUtils; -import org.jackhuang.hmcl.util.IOUtils; import org.jackhuang.hmcl.util.Logging; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.io.IOUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import org.tukaani.xz.XZInputStream; import java.io.*; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/VersionJsonDownloadTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/VersionJsonDownloadTask.java index bd27c53b9..18a440d05 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/VersionJsonDownloadTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/VersionJsonDownloadTask.java @@ -22,7 +22,7 @@ import org.jackhuang.hmcl.download.RemoteVersion; import org.jackhuang.hmcl.download.VersionList; import org.jackhuang.hmcl.task.GetTask; import org.jackhuang.hmcl.task.Task; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.util.Collection; import java.util.LinkedList; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/VersionJsonSaveTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/VersionJsonSaveTask.java index 13bd180c3..758469aeb 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/VersionJsonSaveTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/game/VersionJsonSaveTask.java @@ -21,7 +21,7 @@ import org.jackhuang.hmcl.game.DefaultGameRepository; import org.jackhuang.hmcl.game.Version; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.FileUtils; +import org.jackhuang.hmcl.util.io.FileUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/liteloader/LiteLoaderBMCLVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/liteloader/LiteLoaderBMCLVersionList.java index e599bae28..ed8e41291 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/liteloader/LiteLoaderBMCLVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/liteloader/LiteLoaderBMCLVersionList.java @@ -22,8 +22,8 @@ import org.jackhuang.hmcl.download.VersionList; import org.jackhuang.hmcl.task.GetTask; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.NetworkUtils; -import org.jackhuang.hmcl.util.VersionNumber; +import org.jackhuang.hmcl.util.io.NetworkUtils; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/liteloader/LiteLoaderVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/liteloader/LiteLoaderVersionList.java index d5dd66534..42b5b19c4 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/liteloader/LiteLoaderVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/liteloader/LiteLoaderVersionList.java @@ -22,8 +22,8 @@ import org.jackhuang.hmcl.download.VersionList; import org.jackhuang.hmcl.task.GetTask; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.NetworkUtils; -import org.jackhuang.hmcl.util.VersionNumber; +import org.jackhuang.hmcl.util.io.NetworkUtils; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/optifine/OptiFineBMCLVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/optifine/OptiFineBMCLVersionList.java index 7602e2022..e53186f6d 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/optifine/OptiFineBMCLVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/optifine/OptiFineBMCLVersionList.java @@ -23,9 +23,9 @@ import org.jackhuang.hmcl.download.VersionList; import org.jackhuang.hmcl.task.GetTask; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.NetworkUtils; import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.VersionNumber; +import org.jackhuang.hmcl.util.io.NetworkUtils; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import java.util.*; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/JVMLaunchFailedEvent.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/event/JVMLaunchFailedEvent.java index 4bf6ff40d..38a9d6d81 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/JVMLaunchFailedEvent.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/event/JVMLaunchFailedEvent.java @@ -17,8 +17,8 @@ */ package org.jackhuang.hmcl.event; -import org.jackhuang.hmcl.util.ManagedProcess; import org.jackhuang.hmcl.util.ToStringBuilder; +import org.jackhuang.hmcl.util.platform.ManagedProcess; /** * This event gets fired when we launch the JVM and it got crashed. diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/ProcessExitedAbnormallyEvent.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/event/ProcessExitedAbnormallyEvent.java index e8e5b0d82..1487a8617 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/ProcessExitedAbnormallyEvent.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/event/ProcessExitedAbnormallyEvent.java @@ -17,8 +17,8 @@ */ package org.jackhuang.hmcl.event; -import org.jackhuang.hmcl.util.ManagedProcess; import org.jackhuang.hmcl.util.ToStringBuilder; +import org.jackhuang.hmcl.util.platform.ManagedProcess; /** * This event gets fired when a JavaProcess exited abnormally and the exit code is not zero. diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/ProcessStoppedEvent.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/event/ProcessStoppedEvent.java index 7786c13d5..10b127249 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/ProcessStoppedEvent.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/event/ProcessStoppedEvent.java @@ -17,7 +17,7 @@ */ package org.jackhuang.hmcl.event; -import org.jackhuang.hmcl.util.ManagedProcess; +import org.jackhuang.hmcl.util.platform.ManagedProcess; /** * This event gets fired when minecraft process exited successfully and the exit code is 0. diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Arguments.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Arguments.java index e59ae9fa7..48f53723b 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Arguments.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Arguments.java @@ -20,7 +20,7 @@ package org.jackhuang.hmcl.game; import com.google.gson.annotations.SerializedName; import org.jackhuang.hmcl.util.Immutable; import org.jackhuang.hmcl.util.Lang; -import org.jackhuang.hmcl.util.OperatingSystem; +import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.util.*; import java.util.stream.Collectors; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/AssetObject.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/AssetObject.java index a09bd44ec..139748066 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/AssetObject.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/AssetObject.java @@ -19,7 +19,7 @@ package org.jackhuang.hmcl.game; import com.google.gson.JsonParseException; import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; /** * diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DefaultGameRepository.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DefaultGameRepository.java index ccce0adf2..758e9830c 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DefaultGameRepository.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DefaultGameRepository.java @@ -22,9 +22,9 @@ import com.google.gson.JsonSyntaxException; import org.jackhuang.hmcl.event.*; import org.jackhuang.hmcl.task.Schedulers; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.FileUtils; import org.jackhuang.hmcl.util.Logging; import org.jackhuang.hmcl.util.ToStringBuilder; +import org.jackhuang.hmcl.util.io.FileUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DownloadInfo.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DownloadInfo.java index 08fdd4f64..dd6c383a0 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DownloadInfo.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DownloadInfo.java @@ -22,7 +22,7 @@ import com.google.gson.annotations.SerializedName; import org.jackhuang.hmcl.util.Immutable; import org.jackhuang.hmcl.util.StringUtils; import org.jackhuang.hmcl.util.ToStringBuilder; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; /** * diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.java index 3329e67d3..f4671051f 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.java @@ -17,7 +17,7 @@ */ package org.jackhuang.hmcl.game; -import org.jackhuang.hmcl.util.CompressingUtils; +import org.jackhuang.hmcl.util.io.CompressingUtils; import org.jenkinsci.constant_pool_scanner.ConstantPool; import org.jenkinsci.constant_pool_scanner.ConstantPoolScanner; import org.jenkinsci.constant_pool_scanner.ConstantType; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LaunchOptions.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LaunchOptions.java index 6be33dd9e..9927ad454 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LaunchOptions.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LaunchOptions.java @@ -17,11 +17,11 @@ */ package org.jackhuang.hmcl.game; -import org.jackhuang.hmcl.util.JavaVersion; - import java.io.File; import java.io.Serializable; +import org.jackhuang.hmcl.util.platform.JavaVersion; + /** * * @author huangyuhui diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Library.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Library.java index b0e08406d..8514a5f93 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Library.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Library.java @@ -20,9 +20,9 @@ package org.jackhuang.hmcl.game; import com.google.gson.*; import com.google.gson.reflect.TypeToken; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.OperatingSystem; -import org.jackhuang.hmcl.util.Platform; import org.jackhuang.hmcl.util.ToStringBuilder; +import org.jackhuang.hmcl.util.platform.OperatingSystem; +import org.jackhuang.hmcl.util.platform.Platform; import java.lang.reflect.Type; import java.util.List; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LoggingInfo.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LoggingInfo.java index 809f10897..561279636 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LoggingInfo.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LoggingInfo.java @@ -20,7 +20,7 @@ package org.jackhuang.hmcl.game; import com.google.gson.JsonParseException; import com.google.gson.annotations.SerializedName; import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; /** * diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/OSRestriction.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/OSRestriction.java index 24a055110..1551cc99b 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/OSRestriction.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/OSRestriction.java @@ -18,7 +18,7 @@ package org.jackhuang.hmcl.game; import org.jackhuang.hmcl.util.Lang; -import org.jackhuang.hmcl.util.OperatingSystem; +import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.util.regex.Pattern; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Version.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Version.java index cd62e2978..c543f9b2b 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Version.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Version.java @@ -19,6 +19,7 @@ package org.jackhuang.hmcl.game; import com.google.gson.JsonParseException; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.gson.Validation; import java.util.*; import java.util.logging.Level; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/World.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/World.java index c00e9dae4..006fab290 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/World.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/World.java @@ -6,6 +6,10 @@ import com.github.steveice10.opennbt.tag.builtin.LongTag; import com.github.steveice10.opennbt.tag.builtin.StringTag; import com.github.steveice10.opennbt.tag.builtin.Tag; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.io.CompressingUtils; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.io.Unzipper; +import org.jackhuang.hmcl.util.io.Zipper; import java.io.IOException; import java.io.InputStream; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java index e061ecb0d..b2d57b7ba 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.java @@ -20,6 +20,14 @@ package org.jackhuang.hmcl.launch; import org.jackhuang.hmcl.auth.AuthInfo; import org.jackhuang.hmcl.game.*; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.io.Unzipper; +import org.jackhuang.hmcl.util.platform.CommandBuilder; +import org.jackhuang.hmcl.util.platform.JavaVersion; +import org.jackhuang.hmcl.util.platform.ManagedProcess; +import org.jackhuang.hmcl.util.platform.OperatingSystem; +import org.jackhuang.hmcl.util.platform.Platform; import java.io.*; import java.nio.file.Files; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/ExitWaiter.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/ExitWaiter.java index beeb8478e..ffb042878 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/ExitWaiter.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/ExitWaiter.java @@ -22,8 +22,8 @@ import org.jackhuang.hmcl.event.JVMLaunchFailedEvent; import org.jackhuang.hmcl.event.ProcessExitedAbnormallyEvent; import org.jackhuang.hmcl.event.ProcessStoppedEvent; import org.jackhuang.hmcl.util.Log4jLevel; -import org.jackhuang.hmcl.util.ManagedProcess; import org.jackhuang.hmcl.util.StringUtils; +import org.jackhuang.hmcl.util.platform.ManagedProcess; import java.util.Collection; import java.util.List; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/Launcher.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/Launcher.java index cacd87892..5abf27bb6 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/Launcher.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/Launcher.java @@ -21,7 +21,7 @@ import org.jackhuang.hmcl.auth.AuthInfo; import org.jackhuang.hmcl.game.GameRepository; import org.jackhuang.hmcl.game.LaunchOptions; import org.jackhuang.hmcl.game.Version; -import org.jackhuang.hmcl.util.ManagedProcess; +import org.jackhuang.hmcl.util.platform.ManagedProcess; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/ProcessListener.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/ProcessListener.java index 63e52d605..c2d2aeb20 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/ProcessListener.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/ProcessListener.java @@ -18,7 +18,7 @@ package org.jackhuang.hmcl.launch; import org.jackhuang.hmcl.util.Log4jLevel; -import org.jackhuang.hmcl.util.ManagedProcess; +import org.jackhuang.hmcl.util.platform.ManagedProcess; /** * diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseCompletionTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseCompletionTask.java index b915d83bd..04c5609e5 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseCompletionTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseCompletionTask.java @@ -22,6 +22,8 @@ import org.jackhuang.hmcl.game.GameRepository; import org.jackhuang.hmcl.task.FileDownloadTask; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseInstallTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseInstallTask.java index 3bcc53eea..b9c6040f3 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseInstallTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseInstallTask.java @@ -24,7 +24,7 @@ import org.jackhuang.hmcl.download.GameBuilder; import org.jackhuang.hmcl.game.DefaultGameRepository; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.FileUtils; +import org.jackhuang.hmcl.util.io.FileUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifest.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifest.java index fbb900f1b..9dc6b0009 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifest.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifest.java @@ -19,9 +19,10 @@ package org.jackhuang.hmcl.mod; import com.google.gson.JsonParseException; import com.google.gson.annotations.SerializedName; -import org.jackhuang.hmcl.util.CompressingUtils; + import org.jackhuang.hmcl.util.Immutable; import org.jackhuang.hmcl.util.JsonUtils; +import org.jackhuang.hmcl.util.io.CompressingUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestFile.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestFile.java index 738eddebb..c9a3962bf 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestFile.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestFile.java @@ -20,8 +20,8 @@ package org.jackhuang.hmcl.mod; import com.google.gson.JsonParseException; import com.google.gson.annotations.SerializedName; import org.jackhuang.hmcl.util.Immutable; -import org.jackhuang.hmcl.util.NetworkUtils; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.net.URL; import java.util.Objects; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestMinecraft.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestMinecraft.java index 9a47144ec..104d817bc 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestMinecraft.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestMinecraft.java @@ -21,7 +21,7 @@ import com.google.gson.JsonParseException; import com.google.gson.annotations.SerializedName; import org.jackhuang.hmcl.util.Immutable; import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; import java.util.Collections; import java.util.LinkedList; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestModLoader.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestModLoader.java index 026c8614a..86546f0d8 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestModLoader.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/CurseManifestModLoader.java @@ -21,7 +21,7 @@ import com.google.gson.JsonParseException; import com.google.gson.annotations.SerializedName; import org.jackhuang.hmcl.util.Immutable; import org.jackhuang.hmcl.util.StringUtils; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; /** * diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/Datapack.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/Datapack.java index beb058876..74c008089 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/Datapack.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/Datapack.java @@ -8,6 +8,10 @@ import javafx.beans.property.SimpleBooleanProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.gson.Validation; +import org.jackhuang.hmcl.util.io.CompressingUtils; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.io.Unzipper; import java.io.IOException; import java.nio.file.*; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ForgeModMetadata.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ForgeModMetadata.java index 1836fa68c..a8a539bf8 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ForgeModMetadata.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ForgeModMetadata.java @@ -21,6 +21,8 @@ import com.google.gson.JsonParseException; import com.google.gson.annotations.SerializedName; import com.google.gson.reflect.TypeToken; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.io.CompressingUtils; +import org.jackhuang.hmcl.util.io.IOUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/LiteModMetadata.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/LiteModMetadata.java index 49343125c..c2121ac92 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/LiteModMetadata.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/LiteModMetadata.java @@ -19,8 +19,8 @@ package org.jackhuang.hmcl.mod; import com.google.gson.JsonParseException; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.IOUtils; import org.jackhuang.hmcl.util.Immutable; +import org.jackhuang.hmcl.util.io.IOUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MinecraftInstanceTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MinecraftInstanceTask.java index 83523bebc..752f31518 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MinecraftInstanceTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MinecraftInstanceTask.java @@ -18,9 +18,9 @@ package org.jackhuang.hmcl.mod; import org.jackhuang.hmcl.task.Task; -import org.jackhuang.hmcl.util.CompressingUtils; import org.jackhuang.hmcl.util.Constants; -import org.jackhuang.hmcl.util.FileUtils; +import org.jackhuang.hmcl.util.io.CompressingUtils; +import org.jackhuang.hmcl.util.io.FileUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModInfo.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModInfo.java index ff8c9fb20..7d5a50991 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModInfo.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModInfo.java @@ -17,10 +17,10 @@ */ package org.jackhuang.hmcl.mod; -import org.jackhuang.hmcl.util.FileUtils; -import org.jackhuang.hmcl.util.ImmediateBooleanProperty; import org.jackhuang.hmcl.util.Logging; import org.jackhuang.hmcl.util.StringUtils; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.javafx.ImmediateBooleanProperty; import java.io.File; import java.util.Objects; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModManager.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModManager.java index 2d3da4a30..dedaf50b8 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModManager.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModManager.java @@ -18,10 +18,10 @@ package org.jackhuang.hmcl.mod; import org.jackhuang.hmcl.game.GameRepository; -import org.jackhuang.hmcl.util.FileUtils; import org.jackhuang.hmcl.util.Lang; import org.jackhuang.hmcl.util.SimpleMultimap; -import org.jackhuang.hmcl.util.VersionNumber; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.versioning.VersionNumber; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModpackConfiguration.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModpackConfiguration.java index 35e8da716..c14f1041e 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModpackConfiguration.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModpackConfiguration.java @@ -19,7 +19,7 @@ package org.jackhuang.hmcl.mod; import com.google.gson.JsonParseException; import org.jackhuang.hmcl.util.Immutable; -import org.jackhuang.hmcl.util.Validation; +import org.jackhuang.hmcl.util.gson.Validation; import java.util.ArrayList; import java.util.Collections; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModpackInstallTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModpackInstallTask.java index ab3e4f8e6..37d5b80d7 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModpackInstallTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModpackInstallTask.java @@ -18,8 +18,8 @@ package org.jackhuang.hmcl.mod; import org.jackhuang.hmcl.task.Task; -import org.jackhuang.hmcl.util.FileUtils; -import org.jackhuang.hmcl.util.Unzipper; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.io.Unzipper; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCInstanceConfiguration.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCInstanceConfiguration.java index 1cc52adf8..d4fefa8b2 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCInstanceConfiguration.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCInstanceConfiguration.java @@ -17,9 +17,9 @@ */ package org.jackhuang.hmcl.mod; -import org.jackhuang.hmcl.util.CompressingUtils; import org.jackhuang.hmcl.util.Lang; import org.jackhuang.hmcl.util.StringUtils; +import org.jackhuang.hmcl.util.io.CompressingUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCManifest.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCManifest.java index 7908027fd..7266fa832 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCManifest.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCManifest.java @@ -18,10 +18,11 @@ package org.jackhuang.hmcl.mod; import com.google.gson.annotations.SerializedName; -import org.jackhuang.hmcl.util.CompressingUtils; -import org.jackhuang.hmcl.util.IOUtils; + import org.jackhuang.hmcl.util.Immutable; import org.jackhuang.hmcl.util.JsonUtils; +import org.jackhuang.hmcl.util.io.CompressingUtils; +import org.jackhuang.hmcl.util.io.IOUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCModpackInstallTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCModpackInstallTask.java index d53a18a09..724edd938 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCModpackInstallTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCModpackInstallTask.java @@ -27,6 +27,9 @@ import org.jackhuang.hmcl.game.DefaultGameRepository; import org.jackhuang.hmcl.game.Version; import org.jackhuang.hmcl.task.Task; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.io.CompressingUtils; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.io.IOUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/RiftModMetadata.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/RiftModMetadata.java index bf324364c..5f887d7b1 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/RiftModMetadata.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/RiftModMetadata.java @@ -18,10 +18,11 @@ package org.jackhuang.hmcl.mod; import com.google.gson.JsonParseException; -import org.jackhuang.hmcl.util.CompressingUtils; -import org.jackhuang.hmcl.util.IOUtils; + import org.jackhuang.hmcl.util.Immutable; import org.jackhuang.hmcl.util.JsonUtils; +import org.jackhuang.hmcl.util.io.CompressingUtils; +import org.jackhuang.hmcl.util.io.IOUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CoupleTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CoupleTask.java index 7b1dec3b9..03fa46054 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CoupleTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CoupleTask.java @@ -18,7 +18,7 @@ package org.jackhuang.hmcl.task; import org.jackhuang.hmcl.util.AutoTypingMap; -import org.jackhuang.hmcl.util.ExceptionalFunction; +import org.jackhuang.hmcl.util.function.ExceptionalFunction; import java.util.Collection; import java.util.Collections; 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 43b9c0d8a..76d1452d7 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.java @@ -20,6 +20,10 @@ package org.jackhuang.hmcl.task; import org.jackhuang.hmcl.event.EventManager; import org.jackhuang.hmcl.event.FailedEvent; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.io.ChecksumMismatchException; +import org.jackhuang.hmcl.util.io.FileUtils; +import org.jackhuang.hmcl.util.io.IOUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/GetTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/GetTask.java index c74b2fbf7..151dce699 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/GetTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/GetTask.java @@ -17,9 +17,9 @@ */ package org.jackhuang.hmcl.task; -import org.jackhuang.hmcl.util.IOUtils; import org.jackhuang.hmcl.util.Logging; -import org.jackhuang.hmcl.util.NetworkUtils; +import org.jackhuang.hmcl.util.io.IOUtils; +import org.jackhuang.hmcl.util.io.NetworkUtils; import java.io.ByteArrayOutputStream; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Scheduler.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Scheduler.java index b8c970a7f..2af05082b 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Scheduler.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Scheduler.java @@ -17,10 +17,10 @@ */ package org.jackhuang.hmcl.task; -import org.jackhuang.hmcl.util.ExceptionalRunnable; - import java.util.concurrent.Future; +import org.jackhuang.hmcl.util.function.ExceptionalRunnable; + /** * Determines how a task is executed. * diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SchedulerExecutorService.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SchedulerExecutorService.java index fb6ab5351..e07929ca4 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SchedulerExecutorService.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SchedulerExecutorService.java @@ -17,11 +17,11 @@ */ package org.jackhuang.hmcl.task; -import org.jackhuang.hmcl.util.ExceptionalRunnable; - import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; +import org.jackhuang.hmcl.util.function.ExceptionalRunnable; + /** * * @author huangyuhui diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SchedulerImpl.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SchedulerImpl.java index 989b892ba..6ca73266b 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SchedulerImpl.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SchedulerImpl.java @@ -17,12 +17,12 @@ */ package org.jackhuang.hmcl.task; -import org.jackhuang.hmcl.util.ExceptionalRunnable; - import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; +import org.jackhuang.hmcl.util.function.ExceptionalRunnable; + /** * * @author huangyuhui diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SimpleTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SimpleTask.java index 9b078179c..b5086aeb4 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SimpleTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SimpleTask.java @@ -18,7 +18,7 @@ package org.jackhuang.hmcl.task; import org.jackhuang.hmcl.util.AutoTypingMap; -import org.jackhuang.hmcl.util.ExceptionalConsumer; +import org.jackhuang.hmcl.util.function.ExceptionalConsumer; /** * diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SimpleTaskResult.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SimpleTaskResult.java index a8b293e4d..5fc60108a 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SimpleTaskResult.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SimpleTaskResult.java @@ -17,7 +17,7 @@ */ package org.jackhuang.hmcl.task; -import org.jackhuang.hmcl.util.ExceptionalSupplier; +import org.jackhuang.hmcl.util.function.ExceptionalSupplier; public final class SimpleTaskResult extends TaskResult { private final String id; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Task.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Task.java index f827da418..e7be4574b 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Task.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Task.java @@ -23,6 +23,9 @@ import javafx.beans.property.ReadOnlyStringProperty; import javafx.beans.property.ReadOnlyStringWrapper; import org.jackhuang.hmcl.event.EventManager; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.function.ExceptionalConsumer; +import org.jackhuang.hmcl.util.function.ExceptionalFunction; +import org.jackhuang.hmcl.util.function.ExceptionalRunnable; import java.util.Collection; import java.util.Collections; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskExecutor.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskExecutor.java index fcbd2925e..4bbb986bc 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskExecutor.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskExecutor.java @@ -18,6 +18,8 @@ package org.jackhuang.hmcl.task; import org.jackhuang.hmcl.util.*; +import org.jackhuang.hmcl.util.function.ExceptionalRunnable; +import org.jackhuang.hmcl.util.function.ExceptionalSupplier; import java.util.*; import java.util.concurrent.*; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/CacheRepository.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/CacheRepository.java index d4aa492c3..a2844aa64 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/CacheRepository.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/CacheRepository.java @@ -22,6 +22,9 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Optional; +import org.jackhuang.hmcl.util.function.ExceptionalSupplier; +import org.jackhuang.hmcl.util.io.FileUtils; + public class CacheRepository { private Path commonDirectory; private Path cacheDirectory; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Constants.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Constants.java index 7324b0495..7a521a161 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Constants.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Constants.java @@ -27,6 +27,13 @@ import org.jackhuang.hmcl.game.Library; import org.jackhuang.hmcl.game.RuledArgument; import org.jackhuang.hmcl.game.StringArgument; import org.jackhuang.hmcl.task.Schedulers; +import org.jackhuang.hmcl.util.gson.DateTypeAdapter; +import org.jackhuang.hmcl.util.gson.FileTypeAdapter; +import org.jackhuang.hmcl.util.gson.LowerCaseEnumTypeAdapterFactory; +import org.jackhuang.hmcl.util.gson.UUIDTypeAdapter; +import org.jackhuang.hmcl.util.gson.ValidationTypeAdapterFactory; +import org.jackhuang.hmcl.util.platform.OperatingSystem; +import org.jackhuang.hmcl.util.platform.Platform; import java.awt.*; import java.io.File; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lang.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lang.java index ab9b97345..aab860d70 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lang.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lang.java @@ -23,6 +23,11 @@ import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Supplier; +import org.jackhuang.hmcl.util.function.ExceptionalConsumer; +import org.jackhuang.hmcl.util.function.ExceptionalFunction; +import org.jackhuang.hmcl.util.function.ExceptionalRunnable; +import org.jackhuang.hmcl.util.function.ExceptionalSupplier; + /** * * @author huangyuhui diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java index bcb61076b..80132bc66 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringUtils.java @@ -24,6 +24,8 @@ import java.util.LinkedList; import java.util.List; import java.util.StringTokenizer; +import org.jackhuang.hmcl.util.platform.OperatingSystem; + /** * * @author huangyuhui diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalConsumer.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalConsumer.java similarity index 97% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalConsumer.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalConsumer.java index 8b8ea3643..70ace889c 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalConsumer.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalConsumer.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.function; /** * @author huangyuhui diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalFunction.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalFunction.java similarity index 95% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalFunction.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalFunction.java index 2aef6f7cd..632cb8ce1 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalFunction.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalFunction.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.function; /** * diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalRunnable.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalRunnable.java similarity index 96% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalRunnable.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalRunnable.java index ed693979a..05915c5b2 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalRunnable.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalRunnable.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.function; import java.util.concurrent.Callable; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalSupplier.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalSupplier.java similarity index 95% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalSupplier.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalSupplier.java index 96be114c3..95713c565 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExceptionalSupplier.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/function/ExceptionalSupplier.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.function; import java.util.concurrent.Callable; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/DateTypeAdapter.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/DateTypeAdapter.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/DateTypeAdapter.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/DateTypeAdapter.java index 61c876edd..470d12184 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/DateTypeAdapter.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/DateTypeAdapter.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.gson; import com.google.gson.*; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/EnumOrdinalDeserializer.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/EnumOrdinalDeserializer.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/EnumOrdinalDeserializer.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/EnumOrdinalDeserializer.java index b5c1e91d4..38d49cc71 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/EnumOrdinalDeserializer.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/EnumOrdinalDeserializer.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.gson; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/FileTypeAdapter.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/FileTypeAdapter.java similarity index 97% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/FileTypeAdapter.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/FileTypeAdapter.java index 503ead9b2..acdf7f3c0 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/FileTypeAdapter.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/FileTypeAdapter.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.gson; import com.google.gson.*; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/LowerCaseEnumTypeAdapterFactory.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/LowerCaseEnumTypeAdapterFactory.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/LowerCaseEnumTypeAdapterFactory.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/LowerCaseEnumTypeAdapterFactory.java index e5a1626be..f2c8819d6 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/LowerCaseEnumTypeAdapterFactory.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/LowerCaseEnumTypeAdapterFactory.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.gson; import com.google.gson.Gson; import com.google.gson.TypeAdapter; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/UUIDTypeAdapter.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/UUIDTypeAdapter.java similarity index 97% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/UUIDTypeAdapter.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/UUIDTypeAdapter.java index 1fc14a1d8..09bc336d0 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/UUIDTypeAdapter.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/UUIDTypeAdapter.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.gson; import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Validation.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/Validation.java similarity index 97% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Validation.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/Validation.java index 3bc9bbc91..1271be90b 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Validation.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/Validation.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.gson; import com.google.gson.JsonParseException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ValidationTypeAdapterFactory.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/ValidationTypeAdapterFactory.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ValidationTypeAdapterFactory.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/ValidationTypeAdapterFactory.java index 856b8552d..f5fd731b3 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ValidationTypeAdapterFactory.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/gson/ValidationTypeAdapterFactory.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.gson; import com.google.gson.Gson; import com.google.gson.TypeAdapter; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ChecksumMismatchException.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/ChecksumMismatchException.java similarity index 97% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ChecksumMismatchException.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/ChecksumMismatchException.java index 419ec9ee0..7a74b3401 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ChecksumMismatchException.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/ChecksumMismatchException.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.io; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/CompressingUtils.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/CompressingUtils.java similarity index 99% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/CompressingUtils.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/CompressingUtils.java index 85f2ace76..b08e9d808 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/CompressingUtils.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/CompressingUtils.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.io; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/FileUtils.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/FileUtils.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/FileUtils.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/FileUtils.java index 2b2274c6f..0936fa6d4 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/FileUtils.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/FileUtils.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.io; import java.io.File; import java.io.FileNotFoundException; @@ -28,6 +28,9 @@ import java.util.LinkedList; import java.util.List; import java.util.Objects; +import org.jackhuang.hmcl.util.Lang; +import org.jackhuang.hmcl.util.StringUtils; + import static java.nio.charset.StandardCharsets.UTF_8; /** diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/IOUtils.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/IOUtils.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/IOUtils.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/IOUtils.java index 9e7dc3f06..17293a0a2 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/IOUtils.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/IOUtils.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.io; import java.io.ByteArrayOutputStream; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/NetworkUtils.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/NetworkUtils.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/NetworkUtils.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/NetworkUtils.java index 265b244e2..4796a3950 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/NetworkUtils.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/NetworkUtils.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.io; import java.io.*; import java.net.*; @@ -25,6 +25,8 @@ import java.util.Map.Entry; import java.util.Objects; import java.util.function.Supplier; +import org.jackhuang.hmcl.util.Lang; + import static java.nio.charset.StandardCharsets.UTF_8; import static org.jackhuang.hmcl.util.StringUtils.*; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Unzipper.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/Unzipper.java similarity index 99% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Unzipper.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/Unzipper.java index 34b602822..f26ecea0f 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Unzipper.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/Unzipper.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.io; import java.io.File; import java.io.IOException; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Zipper.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/Zipper.java similarity index 99% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Zipper.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/Zipper.java index ac3c4b695..fd6e8332b 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Zipper.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/io/Zipper.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.io; import java.io.Closeable; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateBooleanProperty.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateBooleanProperty.java similarity index 97% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateBooleanProperty.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateBooleanProperty.java index 8425bb875..c3be3ecfc 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateBooleanProperty.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateBooleanProperty.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.javafx; import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.value.ChangeListener; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateIntegerProperty.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateIntegerProperty.java similarity index 97% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateIntegerProperty.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateIntegerProperty.java index 80ee92023..229246cc1 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateIntegerProperty.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateIntegerProperty.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.javafx; import javafx.beans.property.SimpleIntegerProperty; import javafx.beans.value.ChangeListener; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateObjectProperty.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateObjectProperty.java similarity index 97% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateObjectProperty.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateObjectProperty.java index 7cfba0cca..15ad870ec 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateObjectProperty.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateObjectProperty.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.javafx; import javafx.beans.property.SimpleObjectProperty; import javafx.beans.value.ChangeListener; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateStringProperty.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateStringProperty.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateStringProperty.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateStringProperty.java index 988db96c5..38c0535f7 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ImmediateStringProperty.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ImmediateStringProperty.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.javafx; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ChangeListener; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/MappedObservableList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/MappedObservableList.java similarity index 99% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/MappedObservableList.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/MappedObservableList.java index 92683231c..4aad5a869 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/MappedObservableList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/MappedObservableList.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.javafx; import javafx.beans.InvalidationListener; import javafx.beans.Observable; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ObservableHelper.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ObservableHelper.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ObservableHelper.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ObservableHelper.java index 796e1c29f..0b1d45d2e 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ObservableHelper.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/ObservableHelper.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.javafx; import javafx.beans.InvalidationListener; import javafx.beans.Observable; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/SelectionModelSelectedItemProperty.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/SelectionModelSelectedItemProperty.java similarity index 97% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/SelectionModelSelectedItemProperty.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/SelectionModelSelectedItemProperty.java index e6b3ff6fd..cea558dd0 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/SelectionModelSelectedItemProperty.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/javafx/SelectionModelSelectedItemProperty.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.javafx; import javafx.beans.property.SimpleObjectProperty; import javafx.scene.control.ComboBox; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/CommandBuilder.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/CommandBuilder.java similarity index 97% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/CommandBuilder.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/CommandBuilder.java index c4cb08194..e877ecd72 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/CommandBuilder.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/CommandBuilder.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.platform; import java.util.Collection; import java.util.LinkedList; @@ -23,6 +23,8 @@ import java.util.List; import java.util.function.Predicate; import java.util.stream.Collectors; +import org.jackhuang.hmcl.util.StringUtils; + public final class CommandBuilder { private final OperatingSystem os; private List raw = new LinkedList<>(); diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/JavaVersion.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/JavaVersion.java similarity index 94% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/JavaVersion.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/JavaVersion.java index 51518363d..6f926b721 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/JavaVersion.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/JavaVersion.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.platform; import java.io.BufferedReader; import java.io.File; @@ -35,6 +35,11 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.Stream; +import org.jackhuang.hmcl.util.Lang; +import org.jackhuang.hmcl.util.Logging; +import org.jackhuang.hmcl.util.StringUtils; +import org.jackhuang.hmcl.util.versioning.VersionNumber; + /** * Represents a Java installation. * @@ -73,12 +78,12 @@ public final class JavaVersion { /** * The major version of Java installation. * - * @see org.jackhuang.hmcl.util.JavaVersion#JAVA_11 - * @see org.jackhuang.hmcl.util.JavaVersion#JAVA_10 - * @see org.jackhuang.hmcl.util.JavaVersion#JAVA_9 - * @see org.jackhuang.hmcl.util.JavaVersion#JAVA_8 - * @see org.jackhuang.hmcl.util.JavaVersion#JAVA_7 - * @see org.jackhuang.hmcl.util.JavaVersion#UNKNOWN + * @see org.jackhuang.hmcl.util.platform.JavaVersion#JAVA_11 + * @see org.jackhuang.hmcl.util.platform.JavaVersion#JAVA_10 + * @see org.jackhuang.hmcl.util.platform.JavaVersion#JAVA_9 + * @see org.jackhuang.hmcl.util.platform.JavaVersion#JAVA_8 + * @see org.jackhuang.hmcl.util.platform.JavaVersion#JAVA_7 + * @see org.jackhuang.hmcl.util.platform.JavaVersion#UNKNOWN */ public int getParsedVersion() { return version; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ManagedProcess.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/ManagedProcess.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ManagedProcess.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/ManagedProcess.java index 564fdc808..9d35aacda 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ManagedProcess.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/ManagedProcess.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.platform; import java.util.*; import java.util.concurrent.ConcurrentLinkedQueue; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/OperatingSystem.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/OperatingSystem.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/OperatingSystem.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/OperatingSystem.java index 2d048f3e3..4621fe0b4 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/OperatingSystem.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/OperatingSystem.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.platform; import javafx.scene.input.Clipboard; import javafx.scene.input.ClipboardContent; @@ -23,6 +23,9 @@ import javafx.scene.input.ClipboardContent; import javax.management.JMException; import javax.management.MBeanServer; import javax.management.ObjectName; + +import org.jackhuang.hmcl.util.Lang; + import java.io.File; import java.lang.management.ManagementFactory; import java.nio.charset.Charset; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Platform.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/Platform.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Platform.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/Platform.java index d0eed274d..1a648ece5 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Platform.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/Platform.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.platform; import com.google.gson.*; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ComposedVersionNumber.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/ComposedVersionNumber.java similarity index 97% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ComposedVersionNumber.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/ComposedVersionNumber.java index ffae2f218..099760cd7 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ComposedVersionNumber.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/ComposedVersionNumber.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.versioning; import java.util.Arrays; import java.util.List; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/IntVersionNumber.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/IntVersionNumber.java similarity index 96% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/IntVersionNumber.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/IntVersionNumber.java index d8b23d69a..a9b5a2a81 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/IntVersionNumber.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/IntVersionNumber.java @@ -15,13 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.versioning; import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; +import org.jackhuang.hmcl.util.StringUtils; + /** * If a version string formats x.x.x.x, a {@code IntVersionNumber} * will be generated. diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringVersionNumber.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/StringVersionNumber.java similarity index 96% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringVersionNumber.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/StringVersionNumber.java index 10c50939f..e97c32e97 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StringVersionNumber.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/StringVersionNumber.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.versioning; import java.util.Objects; diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/VersionNumber.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/VersionNumber.java similarity index 98% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/VersionNumber.java rename to HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/VersionNumber.java index 6e09503c8..91e23e48c 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/VersionNumber.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/versioning/VersionNumber.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see {http://www.gnu.org/licenses/}. */ -package org.jackhuang.hmcl.util; +package org.jackhuang.hmcl.util.versioning; import java.util.Comparator; import java.util.List;