in geronimo-microprofile-site/src/main/java/org/apache/geronimo/microprofile/site/Downloads.java [74:119]
public static void main(final String[] args) {
Locale.setDefault(Locale.ENGLISH);
System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "256");
final List<Download> downloads = Stream.of("org/apache/geronimo/config/geronimo-config-impl", "org/apache/geronimo/safeguard/safeguard-impl",
"org/apache/geronimo/geronimo-jwt-auth", "org/apache/geronimo/geronimo-opentracing",
"org/apache/geronimo/geronimo-health", "org/apache/geronimo/geronimo-metrics",
"org/apache/geronimo/geronimo-openapi-impl", "org/apache/geronimo/geronimo-microprofile-aggregator",
"org/apache/geronimo/utilda", "org/apache/geronimo/geronimo-microprofile-reporter")
.flatMap(Downloads::toVersions)
.flatMap(v -> v.base.endsWith("utilda") ?
Stream.of(v.classifiers("all").extensions("zip"), new Version(v.base, v.version).extensions("pom")) :
Stream.of(v))
.map(v -> v.base.endsWith("geronimo-microprofile-aggregator") ? v.extensions("pom") : v)
.map(v -> v.extensions.isEmpty() ? v.extensions("jar") : v)
.flatMap(Downloads::toDownloadable).map(Downloads::fillDownloadable).filter(Objects::nonNull)
.sorted(Downloads::versionComparator)
.map(Downloads::toCentral)
.collect(toList());
final Collection<Download> lastReleases = downloads.stream()
.collect(toMap(Download::getName, identity(), (a, b) -> a))
.values().stream()
.sorted(Downloads::versionComparator)
.collect(toList());
System.out.println("= Downloads\n:jbake-date: 2018-07-24\n:icons: font\n\n");
System.out.println("== Last releases\n\n");
System.out.println(tableHeader());
lastReleases.forEach(Downloads::printRow);
System.out.println(tableFooter());
System.out.println();
System.out.println("== Previous releases\n\n");
downloads.stream()
.filter(it -> !lastReleases.contains(it))
.collect(groupingBy(Download::getName))
.forEach((name, dls) -> {
System.out.println("=== " + name + "\n\n");
System.out.println(tableHeader());
dls.forEach(Downloads::printRow);
System.out.println(tableFooter());
System.out.println();
});
System.out.println();
}