diff --git a/__tests__/distributors/graalvm-installer.test.ts b/__tests__/distributors/graalvm-installer.test.ts index 1e5146de..3d870412 100644 --- a/__tests__/distributors/graalvm-installer.test.ts +++ b/__tests__/distributors/graalvm-installer.test.ts @@ -1053,21 +1053,21 @@ describe('GraalVMDistribution', () => { ).rejects.toThrow('GraalVM Community does not provide early access builds'); }); }); - }); - describe('distribution factory', () => { - const defaultOptions: JavaInstallerOptions = { - version: '17', - architecture: 'x64', - packageType: 'jdk', - checkLatest: false - }; +}); - it('should map graalvm-community to the community installer', () => { - const community = getJavaDistribution('graalvm-community', defaultOptions); +describe('distribution factory', () => { + const defaultOptions: JavaInstallerOptions = { + version: '17', + architecture: 'x64', + packageType: 'jdk', + checkLatest: false + }; - expect(community).toBeInstanceOf(GraalVMCommunityDistribution); - }); + it('should map graalvm-community to the community installer', () => { + const community = getJavaDistribution('graalvm-community', defaultOptions); + + expect(community).toBeInstanceOf(GraalVMCommunityDistribution); }); }); diff --git a/dist/setup/index.js b/dist/setup/index.js index 1f2c11f3..a16d4117 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -79151,7 +79151,6 @@ class GraalVMDistribution extends base_installer_1.JavaBase { return arch; } validateStableBuildRequest(range) { - const arch = this.getSupportedArchitecture(); if (this.packageType !== 'jdk') { throw new Error(`${this.distribution} provides only the \`jdk\` package type`); } @@ -79166,7 +79165,6 @@ class GraalVMDistribution extends base_installer_1.JavaBase { throw new Error(`${this.distribution} is only supported for JDK ${GRAALVM_MIN_VERSION} and later. Requested version: ${major}`); } return { - arch, platform, major, extension @@ -79275,7 +79273,8 @@ class GraalVMCommunityDistribution extends GraalVMDistribution { if (!this.stable) { throw new Error('GraalVM Community does not provide early access builds'); } - const { arch, platform, extension } = this.validateStableBuildRequest(range); + const arch = this.getSupportedArchitecture(); + const { platform, extension } = this.validateStableBuildRequest(range); const availableVersions = yield this.getAvailableVersionsForPlatform(platform, arch, extension); const satisfiedVersion = availableVersions .filter(item => (0, util_1.isVersionSatisfies)(range, item.version)) @@ -79289,7 +79288,7 @@ class GraalVMCommunityDistribution extends GraalVMDistribution { }); } getAvailableVersionsForPlatform(platform, arch, extension) { - var _a, _b; + var _a; return __awaiter(this, void 0, void 0, function* () { const headers = (0, util_1.getGitHubHttpHeaders)(); const availableVersions = new Map(); @@ -79298,11 +79297,12 @@ class GraalVMCommunityDistribution extends GraalVMDistribution { while (releasesUrl) { pageCount++; const response = yield this.http.getJson(releasesUrl, headers); - for (const release of (_a = response.result) !== null && _a !== void 0 ? _a : []) { + const releases = Array.isArray(response.result) ? response.result : []; + for (const release of releases) { if (release.draft || release.prerelease) { continue; } - for (const asset of (_b = release.assets) !== null && _b !== void 0 ? _b : []) { + for (const asset of (_a = release.assets) !== null && _a !== void 0 ? _a : []) { const releaseForPlatform = this.toCommunityReleaseForPlatform(asset, platform, arch, extension); if (releaseForPlatform) { availableVersions.set(releaseForPlatform.version, releaseForPlatform); @@ -79316,7 +79316,7 @@ class GraalVMCommunityDistribution extends GraalVMDistribution { break; } releasesUrl = nextUrl; - if (!response.result || response.result.length === 0) { + if (releases.length === 0) { break; } if (pageCount >= util_1.MAX_PAGINATION_PAGES) { diff --git a/src/distributions/graalvm/installer.ts b/src/distributions/graalvm/installer.ts index 53cd7f7a..608d1ed7 100644 --- a/src/distributions/graalvm/installer.ts +++ b/src/distributions/graalvm/installer.ts @@ -151,13 +151,10 @@ export class GraalVMDistribution extends JavaBase { } protected validateStableBuildRequest(range: string): { - arch: SupportedArchitecture; platform: OsVersions; extension: string; major: string; } { - const arch = this.getSupportedArchitecture(); - if (this.packageType !== 'jdk') { throw new Error( `${this.distribution} provides only the \`jdk\` package type` @@ -180,7 +177,6 @@ export class GraalVMDistribution extends JavaBase { } return { - arch, platform, major, extension @@ -352,7 +348,8 @@ export class GraalVMCommunityDistribution extends GraalVMDistribution { throw new Error('GraalVM Community does not provide early access builds'); } - const {arch, platform, extension} = this.validateStableBuildRequest(range); + const arch = this.getSupportedArchitecture(); + const {platform, extension} = this.validateStableBuildRequest(range); const availableVersions = await this.getAvailableVersionsForPlatform( platform, arch, @@ -393,7 +390,9 @@ export class GraalVMCommunityDistribution extends GraalVMDistribution { headers ); - for (const release of response.result ?? []) { + const releases = Array.isArray(response.result) ? response.result : []; + + for (const release of releases) { if (release.draft || release.prerelease) { continue; } @@ -427,7 +426,7 @@ export class GraalVMCommunityDistribution extends GraalVMDistribution { releasesUrl = nextUrl; - if (!response.result || response.result.length === 0) { + if (releases.length === 0) { break; }