mirror of
https://gitea.com/actions/setup-java.git
synced 2025-11-13 03:36:23 +08:00
Compare commits
1 Commits
55dab9d4f9
...
UpdatePubl
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c0c94c264e |
File diff suppressed because it is too large
Load Diff
@@ -41,7 +41,9 @@ describe('getAvailableVersions', () => {
|
|||||||
expect(availableVersions).not.toBeNull();
|
expect(availableVersions).not.toBeNull();
|
||||||
|
|
||||||
const length =
|
const length =
|
||||||
os.platform() === 'win32' ? manifestData.length : manifestData.length + 2;
|
os.platform() === 'win32'
|
||||||
|
? manifestData.length - 1
|
||||||
|
: manifestData.length + 1;
|
||||||
expect(availableVersions.length).toBe(length);
|
expect(availableVersions.length).toBe(length);
|
||||||
}, 10_000);
|
}, 10_000);
|
||||||
});
|
});
|
||||||
|
|||||||
56
dist/setup/index.js
vendored
56
dist/setup/index.js
vendored
@@ -128793,38 +128793,15 @@ class JavaBase {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
core.info('Trying to resolve the latest version from remote');
|
core.info('Trying to resolve the latest version from remote');
|
||||||
try {
|
const javaRelease = yield this.findPackageForDownload(this.version);
|
||||||
const javaRelease = yield this.findPackageForDownload(this.version);
|
core.info(`Resolved latest version as ${javaRelease.version}`);
|
||||||
core.info(`Resolved latest version as ${javaRelease.version}`);
|
if ((foundJava === null || foundJava === void 0 ? void 0 : foundJava.version) === javaRelease.version) {
|
||||||
if ((foundJava === null || foundJava === void 0 ? void 0 : foundJava.version) === javaRelease.version) {
|
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
core.info('Trying to download...');
|
|
||||||
foundJava = yield this.downloadTool(javaRelease);
|
|
||||||
core.info(`Java ${foundJava.version} was downloaded`);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (error) {
|
else {
|
||||||
if (error instanceof tc.HTTPError) {
|
core.info('Trying to download...');
|
||||||
if (error.httpStatusCode === 403) {
|
foundJava = yield this.downloadTool(javaRelease);
|
||||||
core.error('HTTP 403: Permission denied or access restricted.');
|
core.info(`Java ${foundJava.version} was downloaded`);
|
||||||
}
|
|
||||||
else if (error.httpStatusCode === 429) {
|
|
||||||
core.warning('HTTP 429: Rate limit exceeded. Please retry later.');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
core.error(`HTTP ${error.httpStatusCode}: ${error.message}`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
const message = error instanceof Error ? error.message : JSON.stringify(error);
|
|
||||||
core.error(`Java setup failed due to network issue or timeout: ${message}`);
|
|
||||||
}
|
|
||||||
if (error instanceof Error && error.stack) {
|
|
||||||
core.debug(error.stack);
|
|
||||||
}
|
|
||||||
throw error;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// JDK folder may contain postfix "Contents/Home" on macOS
|
// JDK folder may contain postfix "Contents/Home" on macOS
|
||||||
@@ -129695,12 +129672,7 @@ class JetBrainsDistribution extends base_installer_1.JavaBase {
|
|||||||
// url is identical except page_index so print it once for debug
|
// url is identical except page_index so print it once for debug
|
||||||
core.debug(`Gathering available versions from '${rawUrl}'`);
|
core.debug(`Gathering available versions from '${rawUrl}'`);
|
||||||
}
|
}
|
||||||
const paginationPageResult = (yield this.http.getJson(rawUrl, requestHeaders)).result;
|
const paginationPage = (yield this.http.getJson(rawUrl, requestHeaders)).result;
|
||||||
if (!paginationPageResult || paginationPageResult.length === 0) {
|
|
||||||
// break infinity loop because we have reached end of pagination
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
const paginationPage = paginationPageResult.filter(version => this.stable ? !version.prerelease : version.prerelease);
|
|
||||||
if (!paginationPage || paginationPage.length === 0) {
|
if (!paginationPage || paginationPage.length === 0) {
|
||||||
// break infinity loop because we have reached end of pagination
|
// break infinity loop because we have reached end of pagination
|
||||||
break;
|
break;
|
||||||
@@ -129708,11 +129680,9 @@ class JetBrainsDistribution extends base_installer_1.JavaBase {
|
|||||||
rawVersions.push(...paginationPage);
|
rawVersions.push(...paginationPage);
|
||||||
page_index++;
|
page_index++;
|
||||||
}
|
}
|
||||||
if (this.stable) {
|
// Add versions not available from the API but are downloadable
|
||||||
// Add versions not available from the API but are downloadable
|
const hidden = ['11_0_10b1145.115', '11_0_11b1341.60'];
|
||||||
const hidden = ['11_0_10b1145.115', '11_0_11b1341.60'];
|
rawVersions.push(...hidden.map(tag => ({ tag_name: tag, name: tag })));
|
||||||
rawVersions.push(...hidden.map(tag => ({ tag_name: tag, name: tag, prerelease: false })));
|
|
||||||
}
|
|
||||||
const versions0 = rawVersions.map((v) => __awaiter(this, void 0, void 0, function* () {
|
const versions0 = rawVersions.map((v) => __awaiter(this, void 0, void 0, function* () {
|
||||||
var _a;
|
var _a;
|
||||||
// Release tags look like one of these:
|
// Release tags look like one of these:
|
||||||
@@ -129731,7 +129701,7 @@ class JetBrainsDistribution extends base_installer_1.JavaBase {
|
|||||||
.replace('-', '');
|
.replace('-', '');
|
||||||
const vsplit = vstring.split('b');
|
const vsplit = vstring.split('b');
|
||||||
let semver = vsplit[0];
|
let semver = vsplit[0];
|
||||||
const build = vsplit[1];
|
const build = +vsplit[1];
|
||||||
// Normalize semver
|
// Normalize semver
|
||||||
if (!semver.includes('.') && !semver.includes('_'))
|
if (!semver.includes('.') && !semver.includes('_'))
|
||||||
semver = `${semver}.0.0`;
|
semver = `${semver}.0.0`;
|
||||||
|
|||||||
16
package-lock.json
generated
16
package-lock.json
generated
@@ -21,7 +21,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^29.5.14",
|
"@types/jest": "^29.5.14",
|
||||||
"@types/node": "^24.0.10",
|
"@types/node": "^20.11.24",
|
||||||
"@types/semver": "^7.5.8",
|
"@types/semver": "^7.5.8",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.54.0",
|
"@typescript-eslint/eslint-plugin": "^5.54.0",
|
||||||
"@typescript-eslint/parser": "^5.54.0",
|
"@typescript-eslint/parser": "^5.54.0",
|
||||||
@@ -1645,11 +1645,11 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "24.0.10",
|
"version": "20.11.24",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz",
|
||||||
"integrity": "sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA==",
|
"integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~7.8.0"
|
"undici-types": "~5.26.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node-fetch": {
|
"node_modules/@types/node-fetch": {
|
||||||
@@ -5347,9 +5347,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/undici-types": {
|
"node_modules/undici-types": {
|
||||||
"version": "7.8.0",
|
"version": "5.26.5",
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
|
||||||
"integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="
|
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
|
||||||
},
|
},
|
||||||
"node_modules/update-browserslist-db": {
|
"node_modules/update-browserslist-db": {
|
||||||
"version": "1.0.13",
|
"version": "1.0.13",
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^29.5.14",
|
"@types/jest": "^29.5.14",
|
||||||
"@types/node": "^24.0.10",
|
"@types/node": "^20.11.24",
|
||||||
"@types/semver": "^7.5.8",
|
"@types/semver": "^7.5.8",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.54.0",
|
"@typescript-eslint/eslint-plugin": "^5.54.0",
|
||||||
"@typescript-eslint/parser": "^5.54.0",
|
"@typescript-eslint/parser": "^5.54.0",
|
||||||
|
|||||||
@@ -51,36 +51,14 @@ export abstract class JavaBase {
|
|||||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||||
} else {
|
} else {
|
||||||
core.info('Trying to resolve the latest version from remote');
|
core.info('Trying to resolve the latest version from remote');
|
||||||
try {
|
const javaRelease = await this.findPackageForDownload(this.version);
|
||||||
const javaRelease = await this.findPackageForDownload(this.version);
|
core.info(`Resolved latest version as ${javaRelease.version}`);
|
||||||
core.info(`Resolved latest version as ${javaRelease.version}`);
|
if (foundJava?.version === javaRelease.version) {
|
||||||
if (foundJava?.version === javaRelease.version) {
|
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
} else {
|
||||||
} else {
|
core.info('Trying to download...');
|
||||||
core.info('Trying to download...');
|
foundJava = await this.downloadTool(javaRelease);
|
||||||
foundJava = await this.downloadTool(javaRelease);
|
core.info(`Java ${foundJava.version} was downloaded`);
|
||||||
core.info(`Java ${foundJava.version} was downloaded`);
|
|
||||||
}
|
|
||||||
} catch (error: any) {
|
|
||||||
if (error instanceof tc.HTTPError) {
|
|
||||||
if (error.httpStatusCode === 403) {
|
|
||||||
core.error('HTTP 403: Permission denied or access restricted.');
|
|
||||||
} else if (error.httpStatusCode === 429) {
|
|
||||||
core.warning('HTTP 429: Rate limit exceeded. Please retry later.');
|
|
||||||
} else {
|
|
||||||
core.error(`HTTP ${error.httpStatusCode}: ${error.message}`);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
const message =
|
|
||||||
error instanceof Error ? error.message : JSON.stringify(error);
|
|
||||||
core.error(
|
|
||||||
`Java setup failed due to network issue or timeout: ${message}`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (error instanceof Error && error.stack) {
|
|
||||||
core.debug(error.stack);
|
|
||||||
}
|
|
||||||
throw error;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -113,18 +113,9 @@ export class JetBrainsDistribution extends JavaBase {
|
|||||||
core.debug(`Gathering available versions from '${rawUrl}'`);
|
core.debug(`Gathering available versions from '${rawUrl}'`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const paginationPageResult = (
|
const paginationPage = (
|
||||||
await this.http.getJson<IJetBrainsRawVersion[]>(rawUrl, requestHeaders)
|
await this.http.getJson<IJetBrainsRawVersion[]>(rawUrl, requestHeaders)
|
||||||
).result;
|
).result;
|
||||||
if (!paginationPageResult || paginationPageResult.length === 0) {
|
|
||||||
// break infinity loop because we have reached end of pagination
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
const paginationPage: IJetBrainsRawVersion[] =
|
|
||||||
paginationPageResult.filter(version =>
|
|
||||||
this.stable ? !version.prerelease : version.prerelease
|
|
||||||
);
|
|
||||||
if (!paginationPage || paginationPage.length === 0) {
|
if (!paginationPage || paginationPage.length === 0) {
|
||||||
// break infinity loop because we have reached end of pagination
|
// break infinity loop because we have reached end of pagination
|
||||||
break;
|
break;
|
||||||
@@ -134,13 +125,9 @@ export class JetBrainsDistribution extends JavaBase {
|
|||||||
page_index++;
|
page_index++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.stable) {
|
// Add versions not available from the API but are downloadable
|
||||||
// Add versions not available from the API but are downloadable
|
const hidden = ['11_0_10b1145.115', '11_0_11b1341.60'];
|
||||||
const hidden = ['11_0_10b1145.115', '11_0_11b1341.60'];
|
rawVersions.push(...hidden.map(tag => ({tag_name: tag, name: tag})));
|
||||||
rawVersions.push(
|
|
||||||
...hidden.map(tag => ({tag_name: tag, name: tag, prerelease: false}))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const versions0 = rawVersions.map(async v => {
|
const versions0 = rawVersions.map(async v => {
|
||||||
// Release tags look like one of these:
|
// Release tags look like one of these:
|
||||||
@@ -161,7 +148,7 @@ export class JetBrainsDistribution extends JavaBase {
|
|||||||
|
|
||||||
const vsplit = vstring.split('b');
|
const vsplit = vstring.split('b');
|
||||||
let semver = vsplit[0];
|
let semver = vsplit[0];
|
||||||
const build = vsplit[1];
|
const build = +vsplit[1];
|
||||||
|
|
||||||
// Normalize semver
|
// Normalize semver
|
||||||
if (!semver.includes('.') && !semver.includes('_'))
|
if (!semver.includes('.') && !semver.includes('_'))
|
||||||
|
|||||||
@@ -3,12 +3,11 @@
|
|||||||
export interface IJetBrainsRawVersion {
|
export interface IJetBrainsRawVersion {
|
||||||
tag_name: string;
|
tag_name: string;
|
||||||
name: string;
|
name: string;
|
||||||
prerelease: boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IJetBrainsVersion {
|
export interface IJetBrainsVersion {
|
||||||
tag_name: string;
|
tag_name: string;
|
||||||
semver: string;
|
semver: string;
|
||||||
build: string;
|
build: number;
|
||||||
url: string;
|
url: string;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user