private String buildDownloadUrl()

in arthur-maven-plugin/src/main/java/org/apache/geronimo/arthur/maven/mojo/ArthurMojo.java [183:222]


    private String buildDownloadUrl(final String graalPlatform) {
        if (graalDownloadUrl.startsWith("https://api.sdkman.io/2/broker/download/java/")) {
            return graalDownloadUrl
                    .replace("${graalVersion}", graalVersion)
                    .replace("${platform}", graalPlatform);
        }
        // else assume github
        final String[] versionSegments = graalVersion.split("\\.");
        final boolean versionIncludesJavaVersion = versionSegments[versionSegments.length - 1].startsWith("r");
        final String graalSimpleVersion = versionIncludesJavaVersion ?
                Stream.of(versionSegments).limit(versionSegments.length - 1).collect(joining(".")) :
                graalVersion;
        String graalJavaVersion = versionIncludesJavaVersion ?
                versionSegments[versionSegments.length - 1].substring(1) :
                System.getProperty("java.version", "1.8").startsWith("8") ? "8" : "11";
        final String githubPlatform = graalPlatform.toLowerCase(ROOT).contains("win")
                ? "windows-amd64"
                : (graalPlatform.toLowerCase(ROOT).contains("mac")
                ? "darwin-amd64"
                : "linux-amd64");

        // backward compat
        String baseUrl = "auto".equals(graalDownloadUrl) ?
                "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${graalSimpleVersion}/graalvm-ce-java${graalJavaVersion}-${githubPlatform}-${graalSimpleVersion}.tar.gz" :
                graalDownloadUrl;
        if (graalVersion.endsWith("-graalce")) {
            graalJavaVersion = graalVersion.substring(0, graalVersion.length() - "-graalce".length());
            baseUrl = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-" + graalJavaVersion + "/graalvm-community-jdk-" + graalJavaVersion + "_${githubPlatform2}_bin." +
                    (System.getProperty("os.name", "").contains("win") ? "zip" : "tar.gz");
        } else if (graalVersion.endsWith("-graal-oracle")) {
            graalJavaVersion = graalVersion.substring(0, graalVersion.length() - "-graal-oracle".length());
            baseUrl = "https://download.oracle.com/graalvm/" + graalJavaVersion + "/latest/graalvm-jdk-" + graalJavaVersion + "_${githubPlatform2}_bin." +
                    (System.getProperty("os.name", "").contains("win") ? "zip" : "tar.gz");
        }
        return baseUrl
                .replace("${graalSimpleVersion}", graalSimpleVersion)
                .replace("${graalJavaVersion}", graalJavaVersion)
                .replace("${githubPlatform}", githubPlatform)
                .replace("${githubPlatform2}", githubPlatform.replace("amd64", "x64"));
    }