Skip to content

Commit d55e8f8

Browse files
authored
paper: version metadata is optional for custom server jar (#420)
1 parent 0d3e498 commit d55e8f8

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/main/java/me/itzg/helpers/paper/InstallPaperCommand.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.net.URI;
66
import java.nio.file.Path;
77
import java.util.Collections;
8+
import java.util.Optional;
89
import java.util.concurrent.Callable;
910
import java.util.regex.Matcher;
1011
import java.util.regex.Pattern;
@@ -36,6 +37,7 @@
3637
@Slf4j
3738
public class InstallPaperCommand implements Callable<Integer> {
3839

40+
public static final String VERSION_METADATA_NAME = "version.json";
3941
@ArgGroup
4042
Inputs inputs = new Inputs();
4143

@@ -164,11 +166,12 @@ private Result downloadCustom(URI downloadUrl) {
164166
.flatMap(serverJar -> {
165167
final String version;
166168
try {
167-
version = extractVersionFromJar(serverJar);
169+
version = Optional.ofNullable(extractVersionFromJar(serverJar))
170+
.orElseGet(() -> {
171+
log.warn("Version metadata {} was missing from server jar: {}", VERSION_METADATA_NAME, serverJar);
172+
return "custom";
173+
});
168174

169-
if (version == null) {
170-
return Mono.error(new GenericException("Version metadata was not available from custom server jar"));
171-
}
172175
} catch (IOException e) {
173176
return Mono.error(new GenericException("Failed to extract version from custom server jar", e));
174177
}
@@ -188,7 +191,7 @@ private Result downloadCustom(URI downloadUrl) {
188191
}
189192

190193
private String extractVersionFromJar(Path serverJar) throws IOException {
191-
final VersionMeta versionMeta = IoStreams.readFileFromZip(serverJar, "version.json", in ->
194+
final VersionMeta versionMeta = IoStreams.readFileFromZip(serverJar, VERSION_METADATA_NAME, in ->
192195
ObjectMappers.defaultMapper().readValue(in, VersionMeta.class)
193196
);
194197
if (versionMeta == null) {

0 commit comments

Comments
 (0)