Skip to content

Commit 46a4432

Browse files
author
“gowridurgad”
committed
error handling
1 parent f4f1212 commit 46a4432

File tree

2 files changed

+84
-16
lines changed

2 files changed

+84
-16
lines changed

dist/setup/index.js

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128793,15 +128793,44 @@ class JavaBase {
128793128793
}
128794128794
else {
128795128795
core.info('Trying to resolve the latest version from remote');
128796-
const javaRelease = yield this.findPackageForDownload(this.version);
128797-
core.info(`Resolved latest version as ${javaRelease.version}`);
128798-
if ((foundJava === null || foundJava === void 0 ? void 0 : foundJava.version) === javaRelease.version) {
128799-
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
128796+
try {
128797+
const javaRelease = yield this.findPackageForDownload(this.version);
128798+
core.info(`Resolved latest version as ${javaRelease.version}`);
128799+
if ((foundJava === null || foundJava === void 0 ? void 0 : foundJava.version) === javaRelease.version) {
128800+
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
128801+
}
128802+
else {
128803+
core.info('Trying to download...');
128804+
try {
128805+
foundJava = yield this.downloadTool(javaRelease);
128806+
core.info(`Java ${foundJava.version} was downloaded`);
128807+
}
128808+
catch (downloadError) {
128809+
core.error('Failed to download Java. Please check your network connection or the provided version.');
128810+
core.error(`Error details: ${downloadError.message}`);
128811+
throw downloadError;
128812+
}
128813+
}
128800128814
}
128801-
else {
128802-
core.info('Trying to download...');
128803-
foundJava = yield this.downloadTool(javaRelease);
128804-
core.info(`Java ${foundJava.version} was downloaded`);
128815+
catch (resolveError) {
128816+
if (resolveError instanceof tc.HTTPError &&
128817+
resolveError.httpStatusCode === 403) {
128818+
core.error(`Received HTTP 403: Permission denied or restricted access.`);
128819+
}
128820+
else if (resolveError instanceof tc.HTTPError &&
128821+
resolveError.httpStatusCode === 429) {
128822+
core.warning(`Received HTTP 429: Rate limit exceeded. Try again later.`);
128823+
}
128824+
else {
128825+
const message = resolveError instanceof Error
128826+
? resolveError.message
128827+
: JSON.stringify(resolveError);
128828+
core.error(`Failed to set up Java due to a network issue or timeout: ${message}`);
128829+
}
128830+
if (resolveError instanceof Error && resolveError.stack) {
128831+
core.debug(resolveError.stack);
128832+
}
128833+
throw resolveError;
128805128834
}
128806128835
}
128807128836
// JDK folder may contain postfix "Contents/Home" on macOS

src/distributions/base-installer.ts

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,53 @@ export abstract class JavaBase {
5151
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
5252
} else {
5353
core.info('Trying to resolve the latest version from remote');
54-
const javaRelease = await this.findPackageForDownload(this.version);
55-
core.info(`Resolved latest version as ${javaRelease.version}`);
56-
if (foundJava?.version === javaRelease.version) {
57-
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
58-
} else {
59-
core.info('Trying to download...');
60-
foundJava = await this.downloadTool(javaRelease);
61-
core.info(`Java ${foundJava.version} was downloaded`);
54+
try {
55+
const javaRelease = await this.findPackageForDownload(this.version);
56+
core.info(`Resolved latest version as ${javaRelease.version}`);
57+
if (foundJava?.version === javaRelease.version) {
58+
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
59+
} else {
60+
core.info('Trying to download...');
61+
try {
62+
foundJava = await this.downloadTool(javaRelease);
63+
core.info(`Java ${foundJava.version} was downloaded`);
64+
} catch (downloadError: any) {
65+
core.error(
66+
'Failed to download Java. Please check your network connection or the provided version.'
67+
);
68+
core.error(`Error details: ${downloadError.message}`);
69+
throw downloadError;
70+
}
71+
}
72+
} catch (resolveError: any) {
73+
if (
74+
resolveError instanceof tc.HTTPError &&
75+
resolveError.httpStatusCode === 403
76+
) {
77+
core.error(
78+
`Received HTTP 403: Permission denied or restricted access.`
79+
);
80+
} else if (
81+
resolveError instanceof tc.HTTPError &&
82+
resolveError.httpStatusCode === 429
83+
) {
84+
core.warning(
85+
`Received HTTP 429: Rate limit exceeded. Try again later.`
86+
);
87+
} else {
88+
const message =
89+
resolveError instanceof Error
90+
? resolveError.message
91+
: JSON.stringify(resolveError);
92+
core.error(
93+
`Failed to set up Java due to a network issue or timeout: ${message}`
94+
);
95+
}
96+
if (resolveError instanceof Error && resolveError.stack) {
97+
core.debug(resolveError.stack);
98+
}
99+
100+
throw resolveError;
62101
}
63102
}
64103

0 commit comments

Comments
 (0)