private Coordinate promptVersion(final DependencyFacet deps, final Coordinate dependency, Predicate<Dependency> filter) { Coordinate result = dependency; final List<Coordinate> versions = deps.resolveAvailableVersions(DependencyQueryBuilder.create(dependency) .setFilter(filter == null ? new NonSnapshotDependencyFilter() : filter)); if (versions.size() > 0) { Coordinate deflt = versions.get(versions.size() - 1); result = deflt; // result = prompt.promptChoiceTyped("Use which version of '" + dependency.getArtifactId() // + "' ?", versions, deflt); } return result; }
private Coordinate getLatestVersion(Coordinate dependency) { DependencyFacet dependencyFacet = getFaceted().getFacet(DependencyFacet.class); Coordinate result = dependency; List<Coordinate> versions = dependencyFacet.resolveAvailableVersions(DependencyQueryBuilder.create(dependency) .setFilter(new NonSnapshotDependencyFilter())); if (versions.size() > 0) { result = versions.get(versions.size() - 1); } return result; } }
/** * Returns the latest available distribution */ private Coordinate getLatestAvailableDistribution(DependencyResolver resolver) { final Version runtimeVersion = Versions.getImplementationVersionFor(getClass()); CoordinateBuilder distCoordinate = CoordinateBuilder.create().setGroupId("org.jboss.forge") .setArtifactId("forge-distribution") .setClassifier("offline").setPackaging("zip"); DependencyQuery query = DependencyQueryBuilder .create(distCoordinate) .setFilter(new CompositeDependencyFilter( new NonSnapshotDependencyFilter(), new Predicate<Dependency>() { @Override public boolean accept(Dependency dependency) { Version version = SingleVersion.valueOf(dependency.getCoordinate().getVersion()); return version.compareTo(runtimeVersion) > 0 && version.getMajorVersion() == runtimeVersion.getMajorVersion() && "Final".equals(version.getQualifier()); } })); List<Coordinate> versions = resolver.resolveVersions(query); return versions.isEmpty() ? null : versions.get(versions.size() - 1); }
@Override public List<Coordinate> resolveAvailableVersions(final Dependency dep) { DependencyQueryBuilder query = DependencyQueryBuilder.create(dep.getCoordinate()).setRepositories( getRepositories()); if (!Strings.isNullOrEmpty(dep.getCoordinate().getVersion()) && !dep.getCoordinate().getVersion().contains("SNAPSHOT")) { query.setFilter(new NonSnapshotDependencyFilter()); } List<Coordinate> versions = getResolver().resolveVersions(query); return versions; }
dependency.getCoordinate()).setFilter(new NonSnapshotDependencyFilter()));