diff --git a/dist/setup/index.js b/dist/setup/index.js index 1ff1ae6..6f745a6 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -123967,9 +123967,15 @@ class MicrosoftDistributions extends base_installer_1.JavaBase { downloadTool(javaRelease) { return __awaiter(this, void 0, void 0, function* () { core.info(`Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...`); - const javaArchivePath = yield tc.downloadTool(javaRelease.url); + let javaArchivePath = yield tc.downloadTool(javaRelease.url); + core.info(`javaArchivePath is ${javaArchivePath}`); core.info(`Extracting Java archive...`); const extension = (0, util_1.getDownloadArchiveExtension)(); + if (process.platform === 'win32' && (this.architecture === 'arm64' || this.architecture === 'aarch64')) { + const javaArchivePathRenamed = `${javaArchivePath}.zip`; + yield fs_1.default.renameSync(javaArchivePath, javaArchivePathRenamed); + javaArchivePath = javaArchivePathRenamed; + } const extractedJavaPath = yield (0, util_1.extractJdkFile)(javaArchivePath, extension); const archiveName = fs_1.default.readdirSync(extractedJavaPath)[0]; const archivePath = path_1.default.join(extractedJavaPath, archiveName); diff --git a/src/distributions/microsoft/installer.ts b/src/distributions/microsoft/installer.ts index 3dfc398..73bc2e7 100644 --- a/src/distributions/microsoft/installer.ts +++ b/src/distributions/microsoft/installer.ts @@ -26,10 +26,15 @@ export class MicrosoftDistributions extends JavaBase { core.info( `Downloading Java ${javaRelease.version} (${this.distribution}) from ${javaRelease.url} ...` ); - const javaArchivePath = await tc.downloadTool(javaRelease.url); - + let javaArchivePath = await tc.downloadTool(javaRelease.url); + core.info(`javaArchivePath is ${javaArchivePath}`); core.info(`Extracting Java archive...`); const extension = getDownloadArchiveExtension(); + if (process.platform === 'win32' && (this.architecture === 'arm64' || this.architecture === 'aarch64')) { + const javaArchivePathRenamed = `${javaArchivePath}.zip`; + await fs.renameSync(javaArchivePath, javaArchivePathRenamed); + javaArchivePath = javaArchivePathRenamed; + } const extractedJavaPath = await extractJdkFile(javaArchivePath, extension); const archiveName = fs.readdirSync(extractedJavaPath)[0];