Compare commits
2 Commits
error-handling
...
v4.8
| Author | SHA1 | Date | |
|---|---|---|---|
| d5ddf8cf5e | |||
| ebb356cc4e |
Vendored
+44
-8
@@ -128793,15 +128793,51 @@ class JavaBase {
|
||||
}
|
||||
else {
|
||||
core.info('Trying to resolve the latest version from remote');
|
||||
const javaRelease = yield this.findPackageForDownload(this.version);
|
||||
core.info(`Resolved latest version as ${javaRelease.version}`);
|
||||
if ((foundJava === null || foundJava === void 0 ? void 0 : foundJava.version) === javaRelease.version) {
|
||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||
try {
|
||||
const javaRelease = { version: this.version };
|
||||
const jdkUrl = core.getInput('jdk-url');
|
||||
if (jdkUrl) {
|
||||
if (!this.version) {
|
||||
throw new Error('You must specify a version when using a custom JDK URL.');
|
||||
}
|
||||
core.info(`Using custom JDK URL: ${jdkUrl}`);
|
||||
javaRelease.url = jdkUrl;
|
||||
}
|
||||
else {
|
||||
const jdkPkg = yield this.findPackageForDownload(this.version);
|
||||
core.info(`Resolved latest version as ${javaRelease.version}`);
|
||||
javaRelease.version = jdkPkg.version;
|
||||
javaRelease.url = jdkPkg.url;
|
||||
}
|
||||
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...');
|
||||
foundJava = yield this.downloadTool(javaRelease);
|
||||
core.info(`Java ${foundJava.version} was downloaded`);
|
||||
}
|
||||
}
|
||||
else {
|
||||
core.info('Trying to download...');
|
||||
foundJava = yield this.downloadTool(javaRelease);
|
||||
core.info(`Java ${foundJava.version} was downloaded`);
|
||||
catch (error) {
|
||||
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;
|
||||
}
|
||||
}
|
||||
// JDK folder may contain postfix "Contents/Home" on macOS
|
||||
|
||||
@@ -51,14 +51,50 @@ export abstract class JavaBase {
|
||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||
} else {
|
||||
core.info('Trying to resolve the latest version from remote');
|
||||
const javaRelease = await this.findPackageForDownload(this.version);
|
||||
core.info(`Resolved latest version as ${javaRelease.version}`);
|
||||
if (foundJava?.version === javaRelease.version) {
|
||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||
} else {
|
||||
core.info('Trying to download...');
|
||||
foundJava = await this.downloadTool(javaRelease);
|
||||
core.info(`Java ${foundJava.version} was downloaded`);
|
||||
try {
|
||||
const javaRelease = { version: this.version } as JavaDownloadRelease;
|
||||
const jdkUrl = core.getInput('jdk-url');
|
||||
if (jdkUrl) {
|
||||
if (!this.version) {
|
||||
throw new Error(
|
||||
'You must specify a version when using a custom JDK URL.'
|
||||
);
|
||||
}
|
||||
core.info(`Using custom JDK URL: ${jdkUrl}`);
|
||||
javaRelease.url = jdkUrl;
|
||||
} else {
|
||||
const jdkPkg = await this.findPackageForDownload(this.version)
|
||||
core.info(`Resolved latest version as ${javaRelease.version}`);
|
||||
javaRelease.version = jdkPkg.version;
|
||||
javaRelease.url = jdkPkg.url;
|
||||
}
|
||||
if (foundJava?.version === javaRelease.version) {
|
||||
core.info(`Resolved Java ${foundJava.version} from tool-cache`);
|
||||
} else {
|
||||
core.info('Trying to download...');
|
||||
foundJava = await this.downloadTool(javaRelease);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user