diff --git a/dist/setup/index.js b/dist/setup/index.js index 8bf08ef2..d7f069e9 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -128794,8 +128794,21 @@ class JavaBase { else { core.info('Trying to resolve the latest version from remote'); try { - const javaRelease = yield this.findPackageForDownload(this.version); - core.info(`Resolved latest version as ${javaRelease.version}`); + 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`); } diff --git a/src/distributions/base-installer.ts b/src/distributions/base-installer.ts index 4a83897f..b803bf8f 100644 --- a/src/distributions/base-installer.ts +++ b/src/distributions/base-installer.ts @@ -52,8 +52,22 @@ export abstract class JavaBase { } else { core.info('Trying to resolve the latest version from remote'); try { - const javaRelease = await this.findPackageForDownload(this.version); - core.info(`Resolved latest version as ${javaRelease.version}`); + 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 {