Skip to content

Commit ddb82ce

Browse files
authored
Corretto toolcache folder name fix (actions#480)
1 parent 404e5db commit ddb82ce

File tree

7 files changed

+62
-49
lines changed

7 files changed

+62
-49
lines changed

__tests__/distributors/zulu-installer.test.ts

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -227,22 +227,3 @@ describe('findPackageForDownload', () => {
227227
).rejects.toThrow(/Could not find satisfied version for semver */);
228228
});
229229
});
230-
231-
describe('convertVersionToSemver', () => {
232-
it.each([
233-
[[12], '12'],
234-
[[12, 0], '12.0'],
235-
[[12, 0, 2], '12.0.2'],
236-
[[12, 0, 2, 1], '12.0.2+1'],
237-
[[12, 0, 2, 1, 3], '12.0.2+1']
238-
])('%s -> %s', (input: number[], expected: string) => {
239-
const distribution = new ZuluDistribution({
240-
version: '18',
241-
architecture: 'x86',
242-
packageType: 'jdk',
243-
checkLatest: false
244-
});
245-
const actual = distribution['convertVersionToSemver'](input);
246-
expect(actual).toBe(expected);
247-
});
248-
});

__tests__/util.test.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import * as cache from '@actions/cache';
22
import * as core from '@actions/core';
3-
import {isVersionSatisfies, isCacheFeatureAvailable} from '../src/util';
3+
import {
4+
convertVersionToSemver,
5+
isVersionSatisfies,
6+
isCacheFeatureAvailable
7+
} from '../src/util';
48

59
jest.mock('@actions/cache');
610
jest.mock('@actions/core');
@@ -63,3 +67,16 @@ describe('isCacheFeatureAvailable', () => {
6367
expect(isCacheFeatureAvailable()).toBe(true);
6468
});
6569
});
70+
71+
describe('convertVersionToSemver', () => {
72+
it.each([
73+
['12', '12'],
74+
['12.0', '12.0'],
75+
['12.0.2', '12.0.2'],
76+
['12.0.2.1', '12.0.2+1'],
77+
['12.0.2.1.0', '12.0.2+1.0']
78+
])('%s -> %s', (input: string, expected: string) => {
79+
const actual = convertVersionToSemver(input);
80+
expect(actual).toBe(expected);
81+
});
82+
});

dist/cleanup/index.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68786,7 +68786,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6878668786
return (mod && mod.__esModule) ? mod : { "default": mod };
6878768787
};
6878868788
Object.defineProperty(exports, "__esModule", ({ value: true }));
68789-
exports.getVersionFromFileContent = exports.isCacheFeatureAvailable = exports.isGhes = exports.isJobStatusSuccess = exports.getToolcachePath = exports.isVersionSatisfies = exports.getDownloadArchiveExtension = exports.extractJdkFile = exports.getVersionFromToolcachePath = exports.getBooleanInput = exports.getTempDir = void 0;
68789+
exports.convertVersionToSemver = exports.getVersionFromFileContent = exports.isCacheFeatureAvailable = exports.isGhes = exports.isJobStatusSuccess = exports.getToolcachePath = exports.isVersionSatisfies = exports.getDownloadArchiveExtension = exports.extractJdkFile = exports.getVersionFromToolcachePath = exports.getBooleanInput = exports.getTempDir = void 0;
6879068790
const os_1 = __importDefault(__nccwpck_require__(2037));
6879168791
const path_1 = __importDefault(__nccwpck_require__(1017));
6879268792
const fs = __importStar(__nccwpck_require__(7147));
@@ -68913,6 +68913,16 @@ exports.getVersionFromFileContent = getVersionFromFileContent;
6891368913
function avoidOldNotation(content) {
6891468914
return content.startsWith('1.') ? content.substring(2) : content;
6891568915
}
68916+
function convertVersionToSemver(version) {
68917+
// Some distributions may use semver-like notation (12.10.2.1, 12.10.2.1.1)
68918+
const versionArray = Array.isArray(version) ? version : version.split('.');
68919+
const mainVersion = versionArray.slice(0, 3).join('.');
68920+
if (versionArray.length > 3) {
68921+
return `${mainVersion}+${versionArray.slice(3).join('.')}`;
68922+
}
68923+
return mainVersion;
68924+
}
68925+
exports.convertVersionToSemver = convertVersionToSemver;
6891668926

6891768927

6891868928
/***/ }),

dist/setup/index.js

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -104209,7 +104209,7 @@ class CorrettoDistribution extends base_installer_1.JavaBase {
104209104209
.filter(item => item.version == version)
104210104210
.map(item => {
104211104211
return {
104212-
version: item.correttoVersion,
104212+
version: util_1.convertVersionToSemver(item.correttoVersion),
104213104213
url: item.downloadLink
104214104214
};
104215104215
});
@@ -105310,9 +105310,9 @@ class ZuluDistribution extends base_installer_1.JavaBase {
105310105310
const availableVersionsRaw = yield this.getAvailableVersions();
105311105311
const availableVersions = availableVersionsRaw.map(item => {
105312105312
return {
105313-
version: this.convertVersionToSemver(item.jdk_version),
105313+
version: util_1.convertVersionToSemver(item.jdk_version),
105314105314
url: item.url,
105315-
zuluVersion: this.convertVersionToSemver(item.zulu_version)
105315+
zuluVersion: util_1.convertVersionToSemver(item.zulu_version)
105316105316
};
105317105317
});
105318105318
const satisfiedVersions = availableVersions
@@ -105419,15 +105419,6 @@ class ZuluDistribution extends base_installer_1.JavaBase {
105419105419
return process.platform;
105420105420
}
105421105421
}
105422-
// Azul API returns jdk_version as array of digits like [11, 0, 2, 1]
105423-
convertVersionToSemver(version_array) {
105424-
const mainVersion = version_array.slice(0, 3).join('.');
105425-
if (version_array.length > 3) {
105426-
// intentionally ignore more than 4 numbers because it is invalid semver
105427-
return `${mainVersion}+${version_array[3]}`;
105428-
}
105429-
return mainVersion;
105430-
}
105431105422
}
105432105423
exports.ZuluDistribution = ZuluDistribution;
105433105424

@@ -105843,7 +105834,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
105843105834
return (mod && mod.__esModule) ? mod : { "default": mod };
105844105835
};
105845105836
Object.defineProperty(exports, "__esModule", ({ value: true }));
105846-
exports.getVersionFromFileContent = exports.isCacheFeatureAvailable = exports.isGhes = exports.isJobStatusSuccess = exports.getToolcachePath = exports.isVersionSatisfies = exports.getDownloadArchiveExtension = exports.extractJdkFile = exports.getVersionFromToolcachePath = exports.getBooleanInput = exports.getTempDir = void 0;
105837+
exports.convertVersionToSemver = exports.getVersionFromFileContent = exports.isCacheFeatureAvailable = exports.isGhes = exports.isJobStatusSuccess = exports.getToolcachePath = exports.isVersionSatisfies = exports.getDownloadArchiveExtension = exports.extractJdkFile = exports.getVersionFromToolcachePath = exports.getBooleanInput = exports.getTempDir = void 0;
105847105838
const os_1 = __importDefault(__nccwpck_require__(2037));
105848105839
const path_1 = __importDefault(__nccwpck_require__(1017));
105849105840
const fs = __importStar(__nccwpck_require__(7147));
@@ -105970,6 +105961,16 @@ exports.getVersionFromFileContent = getVersionFromFileContent;
105970105961
function avoidOldNotation(content) {
105971105962
return content.startsWith('1.') ? content.substring(2) : content;
105972105963
}
105964+
function convertVersionToSemver(version) {
105965+
// Some distributions may use semver-like notation (12.10.2.1, 12.10.2.1.1)
105966+
const versionArray = Array.isArray(version) ? version : version.split('.');
105967+
const mainVersion = versionArray.slice(0, 3).join('.');
105968+
if (versionArray.length > 3) {
105969+
return `${mainVersion}+${versionArray.slice(3).join('.')}`;
105970+
}
105971+
return mainVersion;
105972+
}
105973+
exports.convertVersionToSemver = convertVersionToSemver;
105973105974

105974105975

105975105976
/***/ }),

src/distributions/corretto/installer.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@ import * as core from '@actions/core';
22
import * as tc from '@actions/tool-cache';
33
import fs from 'fs';
44
import path from 'path';
5-
import {extractJdkFile, getDownloadArchiveExtension} from '../../util';
5+
import {
6+
extractJdkFile,
7+
getDownloadArchiveExtension,
8+
convertVersionToSemver
9+
} from '../../util';
610
import {JavaBase} from '../base-installer';
711
import {
812
JavaDownloadRelease,
@@ -62,7 +66,7 @@ export class CorrettoDistribution extends JavaBase {
6266
.filter(item => item.version == version)
6367
.map(item => {
6468
return {
65-
version: item.correttoVersion,
69+
version: convertVersionToSemver(item.correttoVersion),
6670
url: item.downloadLink
6771
} as JavaDownloadRelease;
6872
});

src/distributions/zulu/installer.ts

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {IZuluVersions} from './models';
1010
import {
1111
extractJdkFile,
1212
getDownloadArchiveExtension,
13+
convertVersionToSemver,
1314
isVersionSatisfies
1415
} from '../../util';
1516
import {
@@ -29,9 +30,9 @@ export class ZuluDistribution extends JavaBase {
2930
const availableVersionsRaw = await this.getAvailableVersions();
3031
const availableVersions = availableVersionsRaw.map(item => {
3132
return {
32-
version: this.convertVersionToSemver(item.jdk_version),
33+
version: convertVersionToSemver(item.jdk_version),
3334
url: item.url,
34-
zuluVersion: this.convertVersionToSemver(item.zulu_version)
35+
zuluVersion: convertVersionToSemver(item.zulu_version)
3536
};
3637
});
3738

@@ -172,15 +173,4 @@ export class ZuluDistribution extends JavaBase {
172173
return process.platform;
173174
}
174175
}
175-
176-
// Azul API returns jdk_version as array of digits like [11, 0, 2, 1]
177-
private convertVersionToSemver(version_array: number[]) {
178-
const mainVersion = version_array.slice(0, 3).join('.');
179-
if (version_array.length > 3) {
180-
// intentionally ignore more than 4 numbers because it is invalid semver
181-
return `${mainVersion}+${version_array[3]}`;
182-
}
183-
184-
return mainVersion;
185-
}
186176
}

src/util.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,3 +151,13 @@ export function getVersionFromFileContent(
151151
function avoidOldNotation(content: string): string {
152152
return content.startsWith('1.') ? content.substring(2) : content;
153153
}
154+
155+
export function convertVersionToSemver(version: number[] | string) {
156+
// Some distributions may use semver-like notation (12.10.2.1, 12.10.2.1.1)
157+
const versionArray = Array.isArray(version) ? version : version.split('.');
158+
const mainVersion = versionArray.slice(0, 3).join('.');
159+
if (versionArray.length > 3) {
160+
return `${mainVersion}+${versionArray.slice(3).join('.')}`;
161+
}
162+
return mainVersion;
163+
}

0 commit comments

Comments
 (0)