Java/bucket/graalvm-oracle-jdk.json
2026-07-04 19:29:47 +08:00

44 lines
1.9 KiB
JSON

{
"description": "High-performance, embeddable, polyglot Virtual Machine for JVM-langs (Java, Scala, Kotlin), JavaScript/NodeJS, Python, Ruby, R, and LLVM-langs (C, C++, Rust)",
"version": "25.1.3",
"homepage": "https://www.graalvm.org/",
"license": {
"identifier": "Freeware",
"url": "https://www.oracle.com/downloads/licenses/graal-free-license.html"
},
"url": "https://download.oracle.com/graalvm/25i1/archive/graalvm-jdk-25i1-25.0.3_windows-x64_bin.zip",
"hash": "ed574ce79e213f31fec3289528ae009065b2036ed78fd4a79f7ec69e67f9b446",
"extract_to": "tmp",
"installer": {
"script": [
"(Get-ChildItem -Directory \"$dir\\tmp\").FullName | % { Move-Item \"$_\\*\" \"$dir\" }",
"Remove-Item -Recurse \"$dir\\tmp\""
]
},
"env_add_path": "bin",
"env_set": {
"JAVA_HOME": "$dir",
"GRAALVM_HOME": "$dir"
},
"checkver": {
"script": [
"$baseurl = 'https://www.oracle.com'",
"$download = Invoke-RestMethod \"$baseurl/a/tech/docs/graalvm-downloads.json\"",
"$release = $download.0",
"$version = ($release.Releases.PSObject.Properties.Name) | Sort-Object -Descending | Select-Object -First 1",
"$jsonFile = $release.Releases.$version.'JSON File'",
"$releaseData = Invoke-RestMethod \"$baseurl$jsonFile\"",
"$url = ($releaseData.Packages.Core.Files.PSObject.Properties.Value | Where-Object { $_.File -match 'windows-x64' } | Select-Object -First 1).File",
"$url -match 'graalvm-jdk-(\\w+)-([\\d.]+)_' | Out-Null",
"Write-Output \"$version|$($matches[1])|$($matches[2])\""
],
"regex": "([\\d.]+)\\|(?<ver>\\w+)\\|(?<jdk>[\\d.]+)"
},
"autoupdate": {
"url": "https://download.oracle.com/graalvm/$matchVer/archive/graalvm-jdk-$matchVer-$matchJdk_windows-x64_bin.zip",
"hash": {
"url": "$url.sha256"
}
}
}