Support new GraalVM dev artifact names.

They omit the Java version and have `-dev` earlier for consistency with other artifacts.

Example:
- old: `graalvm-community-java26-linux-amd64-dev.tar.gz`
- new: `graalvm-community-dev-linux-amd64.tar.gz`
This commit is contained in:
Danilo Ansaloni
2025-11-24 13:53:47 +01:00
committed by Fabio Niephaus
parent cfa19cdd20
commit ad3c25e809
3 changed files with 20 additions and 9 deletions

View File

@@ -76,7 +76,7 @@ test('find version/javaVersion', async () => {
} }
error = err error = err
} }
expect(error.message).toContain('Could not find highest Java version.') expect(error.message).toContain('Could not find latest GraalVM release:')
}) })
test('find EA version/javaVersion', async () => { test('find EA version/javaVersion', async () => {

10
dist/main.js generated vendored
View File

@@ -40583,7 +40583,7 @@ function findHighestJavaVersion(release, version) {
return String(highestJavaVersion); return String(highestJavaVersion);
} }
else { else {
throw new Error('Could not find highest Java version. Please file an issue at: https://github.com/graalvm/setup-graalvm/issues.'); return undefined;
} }
} }
// Support for GraalVM 22.X releases and earlier // Support for GraalVM 22.X releases and earlier
@@ -40616,7 +40616,9 @@ async function setUpGraalVMRelease(gdsToken, version, javaVersion) {
return downloadExtractAndCacheJDK(downloader, toolName, version); return downloadExtractAndCacheJDK(downloader, toolName, version);
} }
function findDownloadUrl(release, javaVersion) { function findDownloadUrl(release, javaVersion) {
const graalVMIdentifier = determineGraalVMLegacyIdentifier(false, VERSION_DEV, javaVersion); const graalVMIdentifier = javaVersion
? determineGraalVMLegacyIdentifier(false, VERSION_DEV, javaVersion)
: determineGraalVMIdentifier(false, VERSION_DEV);
const expectedFileName = `${graalVMIdentifier}${GRAALVM_FILE_EXTENSION}`; const expectedFileName = `${graalVMIdentifier}${GRAALVM_FILE_EXTENSION}`;
for (const asset of release.assets) { for (const asset of release.assets) {
if (asset.name === expectedFileName) { if (asset.name === expectedFileName) {
@@ -40625,6 +40627,10 @@ function findDownloadUrl(release, javaVersion) {
} }
throw new Error(`Could not find GraalVM dev build for Java ${javaVersion}. It may no longer be available, so please consider upgrading the Java version. ${ERROR_HINT}`); throw new Error(`Could not find GraalVM dev build for Java ${javaVersion}. It may no longer be available, so please consider upgrading the Java version. ${ERROR_HINT}`);
} }
function determineGraalVMIdentifier(isEE, version) {
const infix = 'community' ;
return `graalvm-${infix}-${version}-${GRAALVM_PLATFORM}-${GRAALVM_ARCH}`;
}
function determineGraalVMLegacyIdentifier(isEE, version, javaVersion) { function determineGraalVMLegacyIdentifier(isEE, version, javaVersion) {
return `${determineLegacyToolName(isEE, version, javaVersion)}-${GRAALVM_ARCH}-${version}`; return `${determineLegacyToolName(isEE, version, javaVersion)}-${GRAALVM_ARCH}-${version}`;
} }

View File

@@ -174,7 +174,7 @@ export async function setUpGraalVMJDKDevBuild(): Promise<string> {
return downloadAndExtractJDK(downloadUrl) return downloadAndExtractJDK(downloadUrl)
} }
export function findHighestJavaVersion(release: c.LatestReleaseResponseData, version: string): string { export function findHighestJavaVersion(release: c.LatestReleaseResponseData, version: string): string | undefined {
const graalVMIdentifierPattern = determineGraalVMLegacyIdentifier(false, version, '(\\d+)') const graalVMIdentifierPattern = determineGraalVMLegacyIdentifier(false, version, '(\\d+)')
const expectedFileNameRegExp = new RegExp( const expectedFileNameRegExp = new RegExp(
`^${graalVMIdentifierPattern}${c.GRAALVM_FILE_EXTENSION.replace(/\./g, '\\.')}$` `^${graalVMIdentifierPattern}${c.GRAALVM_FILE_EXTENSION.replace(/\./g, '\\.')}$`
@@ -192,9 +192,7 @@ export function findHighestJavaVersion(release: c.LatestReleaseResponseData, ver
if (highestJavaVersion > 0) { if (highestJavaVersion > 0) {
return String(highestJavaVersion) return String(highestJavaVersion)
} else { } else {
throw new Error( return undefined
'Could not find highest Java version. Please file an issue at: https://github.com/graalvm/setup-graalvm/issues.'
)
} }
} }
@@ -234,8 +232,10 @@ export async function setUpGraalVMRelease(gdsToken: string, version: string, jav
return downloadExtractAndCacheJDK(downloader, toolName, version) return downloadExtractAndCacheJDK(downloader, toolName, version)
} }
function findDownloadUrl(release: c.LatestReleaseResponseData, javaVersion: string): string { function findDownloadUrl(release: c.LatestReleaseResponseData, javaVersion?: string): string {
const graalVMIdentifier = determineGraalVMLegacyIdentifier(false, c.VERSION_DEV, javaVersion) const graalVMIdentifier = javaVersion
? determineGraalVMLegacyIdentifier(false, c.VERSION_DEV, javaVersion)
: determineGraalVMIdentifier(false, c.VERSION_DEV)
const expectedFileName = `${graalVMIdentifier}${c.GRAALVM_FILE_EXTENSION}` const expectedFileName = `${graalVMIdentifier}${c.GRAALVM_FILE_EXTENSION}`
for (const asset of release.assets) { for (const asset of release.assets) {
if (asset.name === expectedFileName) { if (asset.name === expectedFileName) {
@@ -247,6 +247,11 @@ function findDownloadUrl(release: c.LatestReleaseResponseData, javaVersion: stri
) )
} }
function determineGraalVMIdentifier(isEE: boolean, version: string): string {
const infix = isEE ? 'ee' : version === c.VERSION_DEV ? 'community' : 'ce'
return `graalvm-${infix}-${version}-${c.GRAALVM_PLATFORM}-${c.GRAALVM_ARCH}`
}
function determineGraalVMLegacyIdentifier(isEE: boolean, version: string, javaVersion: string): string { function determineGraalVMLegacyIdentifier(isEE: boolean, version: string, javaVersion: string): string {
return `${determineLegacyToolName(isEE, version, javaVersion)}-${c.GRAALVM_ARCH}-${version}` return `${determineLegacyToolName(isEE, version, javaVersion)}-${c.GRAALVM_ARCH}-${version}`
} }