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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy