mirror of
https://github.com/actions/setup-java.git
synced 2025-06-28 12:04:14 +00:00
error-handling
This commit is contained in:
parent
f4f1212c88
commit
5ed4c53b3c
2 changed files with 61 additions and 16 deletions
19
dist/setup/index.js
vendored
19
dist/setup/index.js
vendored
|
@ -128793,6 +128793,7 @@ 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) {
|
||||||
|
@ -128804,6 +128805,24 @@ class JavaBase {
|
||||||
core.info(`Java ${foundJava.version} was downloaded`);
|
core.info(`Java ${foundJava.version} was downloaded`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (error) {
|
||||||
|
if (error instanceof tc.HTTPError && error.httpStatusCode === 403) {
|
||||||
|
core.error(`Received HTTP 403: Permission denied or restricted access.`);
|
||||||
|
}
|
||||||
|
else if (error instanceof tc.HTTPError &&
|
||||||
|
error.httpStatusCode === 429) {
|
||||||
|
core.warning(`Received HTTP 429: Rate limit exceeded. Try again later.`);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
const message = error instanceof Error ? error.message : JSON.stringify(error);
|
||||||
|
core.error(`Failed to set up Java due to a 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
|
||||||
const macOSPostfixPath = path_1.default.join(foundJava.path, constants_1.MACOS_JAVA_CONTENT_POSTFIX);
|
const macOSPostfixPath = path_1.default.join(foundJava.path, constants_1.MACOS_JAVA_CONTENT_POSTFIX);
|
||||||
if (process.platform === 'darwin' && fs.existsSync(macOSPostfixPath)) {
|
if (process.platform === 'darwin' && fs.existsSync(macOSPostfixPath)) {
|
||||||
|
|
|
@ -51,6 +51,7 @@ 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) {
|
||||||
|
@ -60,6 +61,31 @@ export abstract class JavaBase {
|
||||||
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 && error.httpStatusCode === 403) {
|
||||||
|
core.error(
|
||||||
|
`Received HTTP 403: Permission denied or restricted access.`
|
||||||
|
);
|
||||||
|
} else if (
|
||||||
|
error instanceof tc.HTTPError &&
|
||||||
|
error.httpStatusCode === 429
|
||||||
|
) {
|
||||||
|
core.warning(
|
||||||
|
`Received HTTP 429: Rate limit exceeded. Try again later.`
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
const message =
|
||||||
|
error instanceof Error ? error.message : JSON.stringify(error);
|
||||||
|
core.error(
|
||||||
|
`Failed to set up Java due to a 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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue