diff --git a/dist/setup/index.js b/dist/setup/index.js index 378240fb..5fb690f2 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -79652,6 +79652,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.KonaDistribution = void 0; const core = __importStar(__nccwpck_require__(37484)); const tc = __importStar(__nccwpck_require__(33472)); +const semver_1 = __importDefault(__nccwpck_require__(62088)); const fs_1 = __importDefault(__nccwpck_require__(79896)); const path_1 = __importDefault(__nccwpck_require__(16928)); const base_installer_1 = __nccwpck_require__(79935); @@ -79666,11 +79667,14 @@ class KonaDistribution extends base_installer_1.JavaBase { const javaArchivePath = yield tc.downloadTool(javaRelease.url); core.info(`Extracting Java archive...`); const extension = (0, util_1.getDownloadArchiveExtension)(); - const extractedJavaPath = yield (0, util_1.extractJdkFile)(javaArchivePath, extension); + const archivePath = process.platform === 'win32' + ? (0, util_1.renameWinArchive)(javaArchivePath) + : javaArchivePath; + const extractedJavaPath = yield (0, util_1.extractJdkFile)(archivePath, extension); const archiveName = fs_1.default.readdirSync(extractedJavaPath)[0]; - const archivePath = path_1.default.join(extractedJavaPath, archiveName); + const jdkDirectory = path_1.default.join(extractedJavaPath, archiveName); const version = this.getToolcacheVersionName(javaRelease.version); - const javaPath = yield tc.cacheDir(archivePath, this.toolcacheFolderName, version, this.architecture); + const javaPath = yield tc.cacheDir(jdkDirectory, this.toolcacheFolderName, version, this.architecture); return { version: javaRelease.version, path: javaPath }; }); } @@ -79692,7 +79696,8 @@ class KonaDistribution extends base_installer_1.JavaBase { version: item.version, url: item.downloadUrl }; - }); + }) + .sort((a, b) => -semver_1.default.compareBuild(a.version, b.version)); if (!releases.length) { throw new Error(`No Kona release for the specified version "${version}" on OS "${this.getOs()}" and arch "${this.getArch()}".`); } @@ -79711,6 +79716,7 @@ class KonaDistribution extends base_installer_1.JavaBase { const availableReleases = this.chooseReleases(this.getOs(), this.getArch(), releaseInfo); if (core.isDebug()) { core.startGroup('Print information about available releases'); + console.timeEnd('Retrieving available releases for Kona took'); // eslint-disable-line no-console core.debug(availableReleases.map(item => item.version).join(', ')); core.endGroup(); } diff --git a/src/distributions/kona/installer.ts b/src/distributions/kona/installer.ts index 13885240..e2fb5de9 100644 --- a/src/distributions/kona/installer.ts +++ b/src/distributions/kona/installer.ts @@ -1,5 +1,6 @@ import * as core from '@actions/core'; import * as tc from '@actions/tool-cache'; +import semver from 'semver'; import fs from 'fs'; import path from 'path'; @@ -14,7 +15,8 @@ import { import { extractJdkFile, getDownloadArchiveExtension, - isVersionSatisfies + isVersionSatisfies, + renameWinArchive } from '../../util'; export class KonaDistribution extends JavaBase { @@ -33,14 +35,18 @@ export class KonaDistribution extends JavaBase { core.info(`Extracting Java archive...`); const extension = getDownloadArchiveExtension(); - const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); + const archivePath = + process.platform === 'win32' + ? renameWinArchive(javaArchivePath) + : javaArchivePath; + const extractedJavaPath = await extractJdkFile(archivePath, extension); const archiveName = fs.readdirSync(extractedJavaPath)[0]; - const archivePath = path.join(extractedJavaPath, archiveName); + const jdkDirectory = path.join(extractedJavaPath, archiveName); const version = this.getToolcacheVersionName(javaRelease.version); const javaPath = await tc.cacheDir( - archivePath, + jdkDirectory, this.toolcacheFolderName, version, this.architecture @@ -70,7 +76,8 @@ export class KonaDistribution extends JavaBase { version: item.version, url: item.downloadUrl } as JavaDownloadRelease; - }); + }) + .sort((a, b) => -semver.compareBuild(a.version, b.version)); if (!releases.length) { throw new Error(