diff --git a/lib/installer.js b/lib/installer.js index 9f0b6064..6bb581de 100644 --- a/lib/installer.js +++ b/lib/installer.js @@ -177,14 +177,18 @@ function getDownloadInfo(refs, version, javaPackage) { } } let pkgRegexp = new RegExp(''); + let pkgTypeLength = 0; if (javaPackage === 'jdk') { pkgRegexp = /jdk.*-/gi; + pkgTypeLength = 'jdk'.length; } else if (javaPackage == 'jre') { pkgRegexp = /jre.*-/gi; + pkgTypeLength = 'jre'.length; } else if (javaPackage == 'jdk+fx') { pkgRegexp = /fx-jdk.*-/gi; + pkgTypeLength = 'fx-jdk'.length; } else { throw new Error(`package argument ${javaPackage} is not in [jdk | jre | jdk+fx]`); @@ -204,7 +208,7 @@ function getDownloadInfo(refs, version, javaPackage) { if (versions.length == 0) { return; } - const refVersion = versions[0].slice('jdk'.length, versions[0].length - 1); + const refVersion = versions[0].slice(pkgTypeLength, versions[0].length - 1); if (semver.satisfies(refVersion, version)) { versionMap.set(refVersion, 'https://static.azul.com/zulu/bin/' + ref.slice(''.length)); diff --git a/src/installer.ts b/src/installer.ts index 94e4d48e..41a72333 100644 --- a/src/installer.ts +++ b/src/installer.ts @@ -67,7 +67,7 @@ export async function getJava( core.debug(`jdk extracted to ${jdkDir}`); toolPath = await tc.cacheDir( jdkDir, - javaPackage, + javaPackage, getCacheVersionString(version), arch ); @@ -190,14 +190,20 @@ function getDownloadInfo( } let pkgRegexp = new RegExp(''); + let pkgTypeLength = 0; if (javaPackage === 'jdk') { pkgRegexp = /jdk.*-/gi; + pkgTypeLength = 'jdk'.length; } else if (javaPackage == 'jre') { pkgRegexp = /jre.*-/gi; + pkgTypeLength = 'jre'.length; } else if (javaPackage == 'jdk+fx') { pkgRegexp = /fx-jdk.*-/gi; + pkgTypeLength = 'fx-jdk'.length; } else { - throw new Error(`package argument ${javaPackage} is not in [jdk | jre | jdk+fx]`); + throw new Error( + `package argument ${javaPackage} is not in [jdk | jre | jdk+fx]` + ); } // Maps version to url @@ -219,7 +225,7 @@ function getDownloadInfo( if (versions.length == 0) { return; } - const refVersion = versions[0].slice('jdk'.length, versions[0].length - 1); + const refVersion = versions[0].slice(pkgTypeLength, versions[0].length - 1); if (semver.satisfies(refVersion, version)) { versionMap.set(