private static String getLatestVersion(String groupId, String artifactId, String minVersion, DeployableType type) { LOG.debug("Looking for version: {}/{}", groupId, artifactId); String searchVersion = String.format("(%s,)", minVersion); MavenVersionRangeResult versionRangeResult = getResolver().resolveVersionRange(formatMavenId(groupId, artifactId, searchVersion, type)); if (!versionRangeResult.getHighestVersion().getVersion().contains(SNAPSHOT)) { return versionRangeResult.getHighestVersion().getVersion(); } Map<Semver, MavenCoordinate> versionMap = new HashMap<>(); versionRangeResult.getVersions().stream().forEach(c -> { versionMap.put(new Semver(c.getVersion(), SemverType.LOOSE), c); }); Semver version = versionMap.keySet().stream() .filter(v -> !v.getOriginalValue().contains(SNAPSHOT)) .max(ORDER).get(); LOG.debug("Found version: {}/{} -> {}", groupId, artifactId, version); return versionMap.get(version).getVersion(); }
private JavaArchive resolve(String coordinate, ConfigurableMavenResolverSystem maven) { final MavenCoordinate highestVersion = maven.resolveVersionRange(coordinate).getHighestVersion(); return maven.resolve(highestVersion.toCanonicalForm()).withoutTransitivity().asSingle(JavaArchive.class); }
private static String getLatestVersion( String groupId, String artifactId, String minVersion, DeployableType type) { LOG.debug("Looking for version: {}/{}", groupId, artifactId); String searchVersion = String.format("(%s,)", minVersion); MavenVersionRangeResult versionRangeResult = getResolver().resolveVersionRange(formatMavenId(groupId, artifactId, searchVersion, type)); if (!versionRangeResult.getHighestVersion().getVersion().contains(SNAPSHOT)) { return versionRangeResult.getHighestVersion().getVersion(); } Map<Semver, MavenCoordinate> versionMap = new HashMap<>(); versionRangeResult .getVersions() .stream() .forEach( c -> { versionMap.put(new Semver(c.getVersion(), SemverType.LOOSE), c); }); Semver version = versionMap .keySet() .stream() .filter(v -> !v.getOriginalValue().contains(SNAPSHOT)) .max(ORDER) .get(); LOG.debug("Found version: {}/{} -> {}", groupId, artifactId, version); return versionMap.get(version).getVersion(); }