error handling

This commit is contained in:
“gowridurgad” 2025-04-25 12:42:02 +05:30
parent f4f1212c88
commit 46a44325a7
2 changed files with 84 additions and 16 deletions

45
dist/setup/index.js vendored
View File

@ -128793,15 +128793,44 @@ class JavaBase {
} }
else { else {
core.info('Trying to resolve the latest version from remote'); core.info('Trying to resolve the latest version from remote');
const javaRelease = yield this.findPackageForDownload(this.version); try {
core.info(`Resolved latest version as ${javaRelease.version}`); const javaRelease = yield this.findPackageForDownload(this.version);
if ((foundJava === null || foundJava === void 0 ? void 0 : foundJava.version) === javaRelease.version) { core.info(`Resolved latest version as ${javaRelease.version}`);
core.info(`Resolved Java ${foundJava.version} from tool-cache`); if ((foundJava === null || foundJava === void 0 ? void 0 : foundJava.version) === javaRelease.version) {
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
}
else {
core.info('Trying to download...');
try {
foundJava = yield this.downloadTool(javaRelease);
core.info(`Java ${foundJava.version} was downloaded`);
}
catch (downloadError) {
core.error('Failed to download Java. Please check your network connection or the provided version.');
core.error(`Error details: ${downloadError.message}`);
throw downloadError;
}
}
} }
else { catch (resolveError) {
core.info('Trying to download...'); if (resolveError instanceof tc.HTTPError &&
foundJava = yield this.downloadTool(javaRelease); resolveError.httpStatusCode === 403) {
core.info(`Java ${foundJava.version} was downloaded`); core.error(`Received HTTP 403: Permission denied or restricted access.`);
}
else if (resolveError instanceof tc.HTTPError &&
resolveError.httpStatusCode === 429) {
core.warning(`Received HTTP 429: Rate limit exceeded. Try again later.`);
}
else {
const message = resolveError instanceof Error
? resolveError.message
: JSON.stringify(resolveError);
core.error(`Failed to set up Java due to a network issue or timeout: ${message}`);
}
if (resolveError instanceof Error && resolveError.stack) {
core.debug(resolveError.stack);
}
throw resolveError;
} }
} }
// JDK folder may contain postfix "Contents/Home" on macOS // JDK folder may contain postfix "Contents/Home" on macOS

View File

@ -51,14 +51,53 @@ 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');
const javaRelease = await this.findPackageForDownload(this.version); try {
core.info(`Resolved latest version as ${javaRelease.version}`); const javaRelease = await this.findPackageForDownload(this.version);
if (foundJava?.version === javaRelease.version) { core.info(`Resolved latest version as ${javaRelease.version}`);
core.info(`Resolved Java ${foundJava.version} from tool-cache`); if (foundJava?.version === javaRelease.version) {
} else { core.info(`Resolved Java ${foundJava.version} from tool-cache`);
core.info('Trying to download...'); } else {
foundJava = await this.downloadTool(javaRelease); core.info('Trying to download...');
core.info(`Java ${foundJava.version} was downloaded`); try {
foundJava = await this.downloadTool(javaRelease);
core.info(`Java ${foundJava.version} was downloaded`);
} catch (downloadError: any) {
core.error(
'Failed to download Java. Please check your network connection or the provided version.'
);
core.error(`Error details: ${downloadError.message}`);
throw downloadError;
}
}
} catch (resolveError: any) {
if (
resolveError instanceof tc.HTTPError &&
resolveError.httpStatusCode === 403
) {
core.error(
`Received HTTP 403: Permission denied or restricted access.`
);
} else if (
resolveError instanceof tc.HTTPError &&
resolveError.httpStatusCode === 429
) {
core.warning(
`Received HTTP 429: Rate limit exceeded. Try again later.`
);
} else {
const message =
resolveError instanceof Error
? resolveError.message
: JSON.stringify(resolveError);
core.error(
`Failed to set up Java due to a network issue or timeout: ${message}`
);
}
if (resolveError instanceof Error && resolveError.stack) {
core.debug(resolveError.stack);
}
throw resolveError;
} }
} }