From c3d0e473ba7321fbb2d3747b56fe620d5ada1a8f Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Sun, 5 Mar 2023 12:26:49 -0600 Subject: [PATCH] modrinth: assume first version file when none are primary --- .../java/me/itzg/helpers/modrinth/ModrinthCommand.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/itzg/helpers/modrinth/ModrinthCommand.java b/src/main/java/me/itzg/helpers/modrinth/ModrinthCommand.java index bd6cc1e4..40f67145 100644 --- a/src/main/java/me/itzg/helpers/modrinth/ModrinthCommand.java +++ b/src/main/java/me/itzg/helpers/modrinth/ModrinthCommand.java @@ -17,6 +17,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import lombok.extern.slf4j.Slf4j; +import me.itzg.helpers.errors.GenericException; import me.itzg.helpers.files.Manifests; import me.itzg.helpers.http.Uris; import me.itzg.helpers.json.ObjectMappers; @@ -203,7 +204,9 @@ private VersionFile pickVersionFile(Version version) { return version.getFiles().stream() .filter(VersionFile::isPrimary) .findFirst() - .orElse(null); + // fall back to first one for cases like + // https://modrinth.com/plugin/vane/version/v1.10.3 + .orElse(version.getFiles().get(0)); } } @@ -267,6 +270,10 @@ private Stream processProject(String projectRef) { } if (version != null) { + if (version.getFiles().isEmpty()) { + throw new GenericException(String.format("Project %s has no files declared", project.getSlug())); + } + return Stream.concat( Stream.of(version), expandDependencies(version)