Add "Contents/Home" postfix on macOS if provider creates it (#139)
* Update e2e-versions.yml * Update e2e-versions.yml * implement fix * Update e2e-versions.yml * Update installer.ts * fix filter logic * Update e2e-versions.yml * remove extra logic * Update e2e-versions.yml
This commit is contained in:
		
							
								
								
									
										6
									
								
								.github/workflows/e2e-versions.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/e2e-versions.yml
									
									
									
									
										vendored
									
									
								
							| @ -88,6 +88,9 @@ jobs: | ||||
|         with: | ||||
|           java-version: ${{ matrix.version }} | ||||
|           distribution: zulu | ||||
|       - name: Verify Java | ||||
|         run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" | ||||
|         shell: bash | ||||
|  | ||||
|   setup-java-ea-versions-adopt: | ||||
|     name: adopt ${{ matrix.version }} (jdk-x64) - ${{ matrix.os }} | ||||
| @ -107,6 +110,9 @@ jobs: | ||||
|         with: | ||||
|           java-version: ${{ matrix.version }} | ||||
|           distribution: adopt | ||||
|       - name: Verify Java | ||||
|         run: bash __tests__/verify-java.sh "${{ matrix.version }}" "${{ steps.setup-java.outputs.path }}" | ||||
|         shell: bash | ||||
|  | ||||
|   setup-java-custom-package-type: | ||||
|     name: ${{ matrix.distribution }} ${{ matrix.version }} (${{ matrix.java-package }}-x64) - ${{ matrix.os }} | ||||
|  | ||||
							
								
								
									
										11
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								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; | ||||
| @ -26861,7 +26868,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 +26913,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 }; | ||||
|         }); | ||||
|     } | ||||
|  | ||||
| @ -67,10 +67,6 @@ export class AdoptDistribution extends JavaBase { | ||||
|  | ||||
|     javaPath = await tc.cacheDir(archivePath, this.toolcacheFolderName, version, this.architecture); | ||||
|  | ||||
|     if (process.platform === 'darwin') { | ||||
|       javaPath = path.join(javaPath, MACOS_JAVA_CONTENT_POSTFIX); | ||||
|     } | ||||
|  | ||||
|     return { version: javaRelease.version, path: javaPath }; | ||||
|   } | ||||
|  | ||||
|  | ||||
| @ -1,10 +1,12 @@ | ||||
| import * as tc from '@actions/tool-cache'; | ||||
| import * as core from '@actions/core'; | ||||
| import * as fs from 'fs'; | ||||
| import semver from 'semver'; | ||||
| import path from 'path'; | ||||
| import * as httpm from '@actions/http-client'; | ||||
| import { getToolcachePath, getVersionFromToolcachePath, isVersionSatisfies } from '../util'; | ||||
| import { JavaDownloadRelease, JavaInstallerOptions, JavaInstallerResults } from './base-models'; | ||||
| import { MACOS_JAVA_CONTENT_POSTFIX } from '../constants'; | ||||
|  | ||||
| export abstract class JavaBase { | ||||
|   protected http: httpm.HttpClient; | ||||
| @ -40,6 +42,12 @@ export abstract class JavaBase { | ||||
|       core.info(`Java ${foundJava.version} was downloaded`); | ||||
|     } | ||||
|  | ||||
|     // JDK folder may contain postfix "Contents/Home" on macOS | ||||
|     const macOSPostfixPath = path.join(foundJava.path, 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); | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Maxim Lobanov
					Maxim Lobanov