mirror of
https://github.com/actions/setup-java.git
synced 2025-04-20 18:06:45 +00:00
implement fix
This commit is contained in:
parent
2af39a78a7
commit
b082205a41
4 changed files with 44 additions and 10 deletions
25
dist/setup/index.js
vendored
25
dist/setup/index.js
vendored
|
@ -3951,10 +3951,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
exports.JavaBase = void 0;
|
||||
const tc = __importStar(__webpack_require__(139));
|
||||
const core = __importStar(__webpack_require__(470));
|
||||
const fs = __importStar(__webpack_require__(747));
|
||||
const semver_1 = __importDefault(__webpack_require__(876));
|
||||
const path_1 = __importDefault(__webpack_require__(622));
|
||||
const httpm = __importStar(__webpack_require__(539));
|
||||
const util_1 = __webpack_require__(322);
|
||||
const constants_1 = __webpack_require__(211);
|
||||
class JavaBase {
|
||||
constructor(distribution, installerOptions) {
|
||||
this.distribution = distribution;
|
||||
|
@ -3978,6 +3980,11 @@ class JavaBase {
|
|||
foundJava = yield this.downloadTool(javaRelease);
|
||||
core.info(`Java ${foundJava.version} was downloaded`);
|
||||
}
|
||||
// JDK folder may contain postfix "Contents/Home" on macOS
|
||||
const macOSPostfixPath = path_1.default.join(foundJava.path, constants_1.MACOS_JAVA_CONTENT_POSTFIX);
|
||||
if (process.platform === 'darwin' && fs.existsSync(macOSPostfixPath)) {
|
||||
foundJava.path = macOSPostfixPath;
|
||||
}
|
||||
core.info(`Setting Java ${foundJava.version} as the default`);
|
||||
this.setJavaDefault(foundJava.version, foundJava.path);
|
||||
return foundJava;
|
||||
|
@ -14001,7 +14008,8 @@ class ZuluDistribution extends base_installer_1.JavaBase {
|
|||
extractedJavaPath = yield util_1.extractJdkFile(javaArchivePath, extension);
|
||||
const archiveName = fs_1.default.readdirSync(extractedJavaPath)[0];
|
||||
const archivePath = path_1.default.join(extractedJavaPath, archiveName);
|
||||
const javaPath = yield tc.cacheDir(archivePath, this.toolcacheFolderName, this.getToolcacheVersionName(javaRelease.version), this.architecture);
|
||||
const jdkPath = this.findJDKInstallationSubfolder(archivePath);
|
||||
const javaPath = yield tc.cacheDir(jdkPath, this.toolcacheFolderName, this.getToolcacheVersionName(javaRelease.version), this.architecture);
|
||||
return { version: javaRelease.version, path: javaPath };
|
||||
});
|
||||
}
|
||||
|
@ -14074,6 +14082,17 @@ class ZuluDistribution extends base_installer_1.JavaBase {
|
|||
}
|
||||
return mainVersion;
|
||||
}
|
||||
findJDKInstallationSubfolder(archiveFolder) {
|
||||
// Zulu archive contains a bunch of symlinks and zulu-<major_version>.jdk subfolder
|
||||
const jdkFolders = fs_1.default
|
||||
.readdirSync(archiveFolder, { withFileTypes: true })
|
||||
.filter(item => !item.isSymbolicLink())
|
||||
.filter(item => item.name.startsWith('zulu-') && item.name.endsWith('.jdk'));
|
||||
if (jdkFolders.length === 0) {
|
||||
return archiveFolder;
|
||||
}
|
||||
return path_1.default.join(archiveFolder, jdkFolders[0].name);
|
||||
}
|
||||
}
|
||||
exports.ZuluDistribution = ZuluDistribution;
|
||||
|
||||
|
@ -26861,7 +26880,6 @@ const fs_1 = __importDefault(__webpack_require__(747));
|
|||
const path_1 = __importDefault(__webpack_require__(622));
|
||||
const semver_1 = __importDefault(__webpack_require__(876));
|
||||
const base_installer_1 = __webpack_require__(83);
|
||||
const constants_1 = __webpack_require__(211);
|
||||
const util_1 = __webpack_require__(322);
|
||||
class AdoptDistribution extends base_installer_1.JavaBase {
|
||||
constructor(installerOptions) {
|
||||
|
@ -26907,9 +26925,6 @@ class AdoptDistribution extends base_installer_1.JavaBase {
|
|||
const archivePath = path_1.default.join(extractedJavaPath, archiveName);
|
||||
const version = this.getToolcacheVersionName(javaRelease.version);
|
||||
javaPath = yield tc.cacheDir(archivePath, this.toolcacheFolderName, version, this.architecture);
|
||||
if (process.platform === 'darwin') {
|
||||
javaPath = path_1.default.join(javaPath, constants_1.MACOS_JAVA_CONTENT_POSTFIX);
|
||||
}
|
||||
return { version: javaRelease.version, path: javaPath };
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue