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)
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