diff --git a/app/src/processing/app/Base.java b/app/src/processing/app/Base.java index 14c3d33af..8f74b3a10 100644 --- a/app/src/processing/app/Base.java +++ b/app/src/processing/app/Base.java @@ -74,6 +74,7 @@ import java.util.logging.Logger; import java.util.stream.Collectors; import java.util.stream.Stream; +import static processing.app.I18n.format; import static processing.app.I18n.tr; @@ -307,9 +308,13 @@ public class Base { String[] boardToInstallParts = parser.getBoardToInstall().split(":"); ContributedPlatform selected = null; - if (boardToInstallParts.length == 3 && VersionHelper.valueOf(boardToInstallParts[2]).isPresent()) { - Version vs = VersionHelper.valueOf(boardToInstallParts[2]).get(); - selected = indexer.getIndex().findPlatform(boardToInstallParts[0], boardToInstallParts[1], vs.toString()); + if (boardToInstallParts.length == 3) { + Optional version = VersionHelper.valueOf(boardToInstallParts[2]); + if (!version.isPresent()) { + System.out.println(format(tr("Invalid version {0}"), boardToInstallParts[2])); + System.exit(1); + } + selected = indexer.getIndex().findPlatform(boardToInstallParts[0], boardToInstallParts[1], version.get().toString()); } else if (boardToInstallParts.length == 2) { List platformsByName = indexer.getIndex().findPlatforms(boardToInstallParts[0], boardToInstallParts[1]); Collections.sort(platformsByName, new DownloadableContributionVersionComparator()); @@ -350,7 +355,12 @@ public class Base { ContributedLibrary selected = null; if (libraryToInstallParts.length == 2) { - selected = indexer.getIndex().find(libraryToInstallParts[0], VersionHelper.valueOf(libraryToInstallParts[1]).toString()); + Optional version = VersionHelper.valueOf(libraryToInstallParts[1]); + if (!version.isPresent()) { + System.out.println(format(tr("Invalid version {0}"), libraryToInstallParts[1])); + System.exit(1); + } + selected = indexer.getIndex().find(libraryToInstallParts[0], version.get().toString()); } else if (libraryToInstallParts.length == 1) { List librariesByName = indexer.getIndex().find(libraryToInstallParts[0]); Collections.sort(librariesByName, new DownloadableContributionVersionComparator());