diff --git a/__tests__/distributors/base-installer.test.ts b/__tests__/distributors/base-installer.test.ts index 177c7ace..5408f65c 100644 --- a/__tests__/distributors/base-installer.test.ts +++ b/__tests__/distributors/base-installer.test.ts @@ -312,7 +312,9 @@ describe('normalizeVersion', () => { ['11.0', { version: '11.0', stable: true }], ['11.0.10', { version: '11.0.10', stable: true }], ['11-ea', { version: '11', stable: false }], - ['11.0.2-ea', { version: '11.0.2', stable: false }] + ['11.0.2-ea', { version: '11.0.2', stable: false }], + ['17.0.0-beta', { version: '17.0.0', stable: false }], + ['17.0.0-beta+33.0', { version: '17.0.0+33.0', stable: false }] ])('normalizeVersion from %s to %s', (input, expected) => { expect(DummyJavaBase.prototype.normalizeVersion.call(null, input)).toEqual(expected); }); diff --git a/dist/setup/index.js b/dist/setup/index.js index c3c2766a..c41ce61e 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -4068,6 +4068,15 @@ class JavaBase { version = version.replace('-ea.', '+'); stable = false; } + else if (version.endsWith('-beta')) { + version = version.replace(/-beta$/, ''); + stable = false; + } + else if (version.includes('-beta+')) { + // transform '11.0.0-beta+33' -> '11.0.3+33' + version = version.replace('-beta', ''); + stable = false; + } if (!semver_1.default.validRange(version)) { throw new Error(`The string '${version}' is not valid SemVer notation for a Java version. Please check README file for code snippets and more detailed information`); } diff --git a/src/distributions/base-installer.ts b/src/distributions/base-installer.ts index 7db34943..90c92a18 100644 --- a/src/distributions/base-installer.ts +++ b/src/distributions/base-installer.ts @@ -127,6 +127,13 @@ export abstract class JavaBase { // transform '11.0.3-ea.2' -> '11.0.3+2' version = version.replace('-ea.', '+'); stable = false; + } else if (version.endsWith('-beta')) { + version = version.replace(/-beta$/, ''); + stable = false; + } else if (version.includes('-beta+')) { + // transform '11.0.0-beta+33' -> '11.0.3+33' + version = version.replace('-beta', ''); + stable = false; } if (!semver.validRange(version)) {