public static void generate()

in src/main/java/org/apache/tomee/website/AbstractDownloadsNG.java [49:107]


    public static void generate(String baseUrl) throws MalformedURLException {
        final List<AbstractDownloadsNG.Download> downloads = getDownloadables(baseUrl);

        final AtomicReference<String> version1 = new AtomicReference<>();
        final AtomicReference<String> version7 = new AtomicReference<>();
        final AtomicReference<String> version8 = new AtomicReference<>();
        final AtomicReference<String> version9 = new AtomicReference<>();

        List<AbstractDownloadsNG.Download> filled = downloads.stream().parallel()
                .map(AbstractDownloadsNG::fillDownloadable)
                .filter(Objects::nonNull /* skipped */)
                .sorted((o1, o2) -> {

                    int versionComp = o2.version.compareTo(o1.version);

                    if (versionComp != 0) {
                        if (o2.version.startsWith(o1.version) && o2.version.contains("-M")) { // milestone
                            versionComp = -1;
                        } else if (o1.version.startsWith(o2.version) && o1.version.contains("-M")) { // milestone
                            versionComp = 1;
                        }

                        checkMaxVersion(version1, version7, version8, version9, o1, versionComp);

                        return versionComp;
                    }

                    final int nameComp = o1.name.compareTo(o2.name);

                    if (nameComp != 0) {

                        checkMaxVersion(version1, version7, version8, version9, o1, nameComp);

                        return nameComp;
                    }

                    final long dateComp = LocalDateTime.parse(o2.date, RFC_1123_DATE_TIME).toInstant(ZoneOffset.UTC).toEpochMilli()
                            - LocalDateTime.parse(o1.date, RFC_1123_DATE_TIME).toInstant(ZoneOffset.UTC).toEpochMilli();
                    if (dateComp != 0) {
                        return (int) dateComp;
                    }

                    return o1.url.compareTo(o2.url);
                })
                .collect(toList());


        String versionCurrent = version9.get();

        System.out.println("|Name|Version|Date|Size|Signatures & Hashes");
        for (AbstractDownloadsNG.Download d : filled) {

            if (!versionCurrent.equals(d.version)) {
                versionCurrent = d.version;
                System.out.println("|||||");
            }
            printRow(d);
        }
    }