From 24a89e69ed7b6f30d93b4749113ad774bb904423 Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Sat, 13 May 2023 22:50:45 -0500 Subject: [PATCH] modrinth: adjust modpack options --- .../java/me/itzg/helpers/http/SharedFetchArgs.java | 6 +++++- .../modrinth/InstallModrinthModpackCommand.java | 7 ++++--- src/main/java/me/itzg/helpers/modrinth/Loader.java | 1 + .../me/itzg/helpers/modrinth/ModpackLoader.java | 13 +++++++++++++ 4 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 src/main/java/me/itzg/helpers/modrinth/ModpackLoader.java diff --git a/src/main/java/me/itzg/helpers/http/SharedFetchArgs.java b/src/main/java/me/itzg/helpers/http/SharedFetchArgs.java index 50ce262f..f807d9d4 100644 --- a/src/main/java/me/itzg/helpers/http/SharedFetchArgs.java +++ b/src/main/java/me/itzg/helpers/http/SharedFetchArgs.java @@ -19,6 +19,7 @@ public class SharedFetchArgs { private final Options.OptionsBuilder optionsBuilder = Options.builder(); @Option(names = "--http-response-timeout", defaultValue = "${env:FETCH_RESPONSE_TIMEOUT:-PT30S}", + paramLabel = "DURATION", description = "The response timeout to apply to HTTP operations. Parsed from ISO-8601 format. " + "Default: ${DEFAULT-VALUE}" ) @@ -27,13 +28,16 @@ public void setResponseTimeout(Duration timeout) { } @Option(names = "--tls-handshake-timeout", defaultValue = "${env:FETCH_TLS_HANDSHAKE_TIMEOUT:-PT30S}", + paramLabel = "DURATION", description = "Default: ${DEFAULT-VALUE}" ) public void setTlsHandshakeTimeout(Duration timeout) { optionsBuilder.tlsHandshakeTimeout(timeout); } - @Option(names = "--connection-pool-max-idle-timeout", defaultValue = "${env:FETCH_CONNECTION_POOL_MAX_IDLE_TIMEOUT}") + @Option(names = "--connection-pool-max-idle-timeout", defaultValue = "${env:FETCH_CONNECTION_POOL_MAX_IDLE_TIMEOUT}", + paramLabel = "DURATION" + ) public void setConnectionPoolMaxIdleTimeout(Duration timeout) { optionsBuilder.maxIdleTimeout(timeout); } diff --git a/src/main/java/me/itzg/helpers/modrinth/InstallModrinthModpackCommand.java b/src/main/java/me/itzg/helpers/modrinth/InstallModrinthModpackCommand.java index 7fea4a96..43810c29 100644 --- a/src/main/java/me/itzg/helpers/modrinth/InstallModrinthModpackCommand.java +++ b/src/main/java/me/itzg/helpers/modrinth/InstallModrinthModpackCommand.java @@ -46,7 +46,8 @@ import static me.itzg.helpers.modrinth.ModrinthApiClient.pickVersionFile; @CommandLine.Command(name = "install-modrinth-modpack", - description = "Supports installation of Modrinth modpacks along with the associated mod loader" + description = "Supports installation of Modrinth modpacks along with the associated mod loader", + mixinStandardHelpOptions = true ) @Slf4j public class InstallModrinthModpackCommand implements Callable { @@ -69,7 +70,7 @@ public class InstallModrinthModpackCommand implements Callable { String gameVersion; @Option(names = "--loader", description = "Valid values: ${COMPLETION-CANDIDATES}") - Loader loader; + ModpackLoader loader; @Option(names = "--default-version-type", defaultValue = "release", description = "Valid values: ${COMPLETION-CANDIDATES}" @@ -135,7 +136,7 @@ private ModrinthModpackManifest processModpack(ProjectRef projectRef, ModrinthMo ) .flatMap(project -> apiClient.resolveProjectVersion( - project, projectRef, loader, gameVersion, defaultVersionType + project, projectRef, loader.asLoader(), gameVersion, defaultVersionType ) .switchIfEmpty(Mono.defer(() -> Mono.error(new InvalidParameterException( "Unable to find version given " + projectRef)))) diff --git a/src/main/java/me/itzg/helpers/modrinth/Loader.java b/src/main/java/me/itzg/helpers/modrinth/Loader.java index e26ef0d2..117cb1c7 100644 --- a/src/main/java/me/itzg/helpers/modrinth/Loader.java +++ b/src/main/java/me/itzg/helpers/modrinth/Loader.java @@ -2,6 +2,7 @@ public enum Loader { fabric("mods"), + quilt("mods"), forge("mods"), bukkit("plugins"), spigot("plugins"), diff --git a/src/main/java/me/itzg/helpers/modrinth/ModpackLoader.java b/src/main/java/me/itzg/helpers/modrinth/ModpackLoader.java new file mode 100644 index 00000000..94c8ec25 --- /dev/null +++ b/src/main/java/me/itzg/helpers/modrinth/ModpackLoader.java @@ -0,0 +1,13 @@ +package me.itzg.helpers.modrinth; + +/** + * Valid loader values for modpacks + */ +public enum ModpackLoader { + fabric, + forge; + + public Loader asLoader() { + return Loader.valueOf(this.name()); + } +}