in dashboard/src/main/java/com/google/cloud/tools/opensource/dashboard/DashboardMain.java [121:147]
private static void generateLatestVersions(
String versionlessCoordinates, DependencyMediationAlgorithm dependencyMediationAlgorithm)
throws IOException, TemplateException, RepositoryException, URISyntaxException,
MavenRepositoryException {
List<String> elements = Splitter.on(':').splitToList(versionlessCoordinates);
if (elements.size() != 2) {
System.err.println(
"Versionless coordinates should have one colon: " + versionlessCoordinates);
return;
}
String groupId = elements.get(0);
String artifactId = elements.get(1);
RepositorySystem repositorySystem = RepositoryUtility.newRepositorySystem();
// The highest version comes last.
ImmutableList<String> versions =
RepositoryUtility.findVersions(repositorySystem, groupId, artifactId);
ImmutableList<String> latestVersions =
versions.size() > LATEST_VERSIONS_COUNT ? versions.subList(
versions.size() - LATEST_VERSIONS_COUNT,
versions.size()) : versions;
for (String version : latestVersions) {
generate(
String.format("%s:%s:%s", groupId, artifactId, version), dependencyMediationAlgorithm);
}
generateVersionIndex(groupId, artifactId, versions);
}