@@ -179917,7 +179917,7 @@ class CacheCleaner {
179917
179917
}
179918
179918
`);
179919
179919
fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'build.gradle'), 'task("noop") {}');
179920
- const executable = await provisioner.provisionGradle('current ');
179920
+ const executable = await provisioner.provisionGradleAtLeast('8.9 ');
179921
179921
await core.group('Executing Gradle to clean up caches', async () => {
179922
179922
core.info(`Cleaning up caches last used before ${cleanTimestamp}`);
179923
179923
await this.executeCleanupBuild(executable, cleanupProjectDir);
@@ -180599,11 +180599,11 @@ const path_1 = __importDefault(__nccwpck_require__(71017));
180599
180599
const fs_1 = __importDefault(__nccwpck_require__(57147));
180600
180600
const core = __importStar(__nccwpck_require__(42186));
180601
180601
const glob = __importStar(__nccwpck_require__(28090));
180602
- const semver = __importStar(__nccwpck_require__(11383));
180603
180602
const cache_utils_1 = __nccwpck_require__(11044);
180604
180603
const build_results_1 = __nccwpck_require__(82107);
180605
180604
const configuration_1 = __nccwpck_require__(15778);
180606
180605
const cache_key_1 = __nccwpck_require__(50100);
180606
+ const gradle_1 = __nccwpck_require__(94475);
180607
180607
const SKIP_RESTORE_VAR = 'GRADLE_BUILD_ACTION_SKIP_RESTORE';
180608
180608
const CACHE_PROTOCOL_VERSION = 'v1';
180609
180609
class ExtractedCacheEntry {
@@ -180842,8 +180842,7 @@ class ConfigurationCacheEntryExtractor extends AbstractEntryExtractor {
180842
180842
return Object.entries(groupedResults).map(([configCachePath, pathResults]) => {
180843
180843
const definition = new ExtractedCacheEntryDefinition('configuration-cache', configCachePath, true).withNonUniqueFileNames();
180844
180844
if (pathResults.find(result => {
180845
- const gradleVersion = semver.coerce(result.gradleVersion);
180846
- return gradleVersion && semver.lt(gradleVersion, '8.6.0');
180845
+ return !(0, gradle_1.versionIsAtLeast)(result.gradleVersion, '8.6.0');
180847
180846
})) {
180848
180847
core.info(`Not saving config-cache data for ${configCachePath}. Configuration cache data is only saved for Gradle 8.6+`);
180849
180848
definition.notCacheableBecause('Configuration cache data only saved for Gradle 8.6+');
@@ -182339,10 +182338,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
182339
182338
__setModuleDefault(result, mod);
182340
182339
return result;
182341
182340
};
182341
+ var __importDefault = (this && this.__importDefault) || function (mod) {
182342
+ return (mod && mod.__esModule) ? mod : { "default": mod };
182343
+ };
182342
182344
Object.defineProperty(exports, "__esModule", ({ value: true }));
182343
182345
exports.provisionAndMaybeExecute = provisionAndMaybeExecute;
182346
+ exports.versionIsAtLeast = versionIsAtLeast;
182347
+ exports.findGradleVersionOnPath = findGradleVersionOnPath;
182348
+ exports.parseGradleVersionFromOutput = parseGradleVersionFromOutput;
182344
182349
const core = __importStar(__nccwpck_require__(42186));
182345
182350
const exec = __importStar(__nccwpck_require__(71514));
182351
+ const which_1 = __importDefault(__nccwpck_require__(6143));
182352
+ const semver = __importStar(__nccwpck_require__(11383));
182346
182353
const provisioner = __importStar(__nccwpck_require__(14042));
182347
182354
const gradlew = __importStar(__nccwpck_require__(46807));
182348
182355
async function provisionAndMaybeExecute(gradleVersion, buildRootDirectory, args) {
@@ -182361,6 +182368,39 @@ async function executeGradleBuild(executable, root, args) {
182361
182368
core.setFailed(`Gradle build failed: see console output for details`);
182362
182369
}
182363
182370
}
182371
+ function versionIsAtLeast(actualVersion, requiredVersion) {
182372
+ const splitVersion = actualVersion.split('-');
182373
+ const coreVersion = splitVersion[0];
182374
+ const prerelease = splitVersion.length > 1;
182375
+ const actualSemver = semver.coerce(coreVersion);
182376
+ const comparisonSemver = semver.coerce(requiredVersion);
182377
+ if (prerelease) {
182378
+ return semver.gt(actualSemver, comparisonSemver);
182379
+ }
182380
+ else {
182381
+ return semver.gte(actualSemver, comparisonSemver);
182382
+ }
182383
+ }
182384
+ async function findGradleVersionOnPath() {
182385
+ const gradleExecutable = await (0, which_1.default)('gradle', { nothrow: true });
182386
+ if (gradleExecutable) {
182387
+ const output = await exec.getExecOutput(gradleExecutable, ['-v'], { silent: true });
182388
+ const version = parseGradleVersionFromOutput(output.stdout);
182389
+ return version ? new GradleExecutable(version, gradleExecutable) : undefined;
182390
+ }
182391
+ return undefined;
182392
+ }
182393
+ function parseGradleVersionFromOutput(output) {
182394
+ const regex = /Gradle (\d+\.\d+(\.\d+)?(-.*)?)/;
182395
+ const versionString = output.match(regex)?.[1];
182396
+ return versionString;
182397
+ }
182398
+ class GradleExecutable {
182399
+ constructor(version, executable) {
182400
+ this.version = version;
182401
+ this.executable = executable;
182402
+ }
182403
+ }
182364
182404
182365
182405
182366
182406
/***/ }),
@@ -182467,20 +182507,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
182467
182507
__setModuleDefault(result, mod);
182468
182508
return result;
182469
182509
};
182470
- var __importDefault = (this && this.__importDefault) || function (mod) {
182471
- return (mod && mod.__esModule) ? mod : { "default": mod };
182472
- };
182473
182510
Object.defineProperty(exports, "__esModule", ({ value: true }));
182474
182511
exports.provisionGradle = provisionGradle;
182512
+ exports.provisionGradleAtLeast = provisionGradleAtLeast;
182475
182513
const fs = __importStar(__nccwpck_require__(57147));
182476
182514
const os = __importStar(__nccwpck_require__(22037));
182477
182515
const path = __importStar(__nccwpck_require__(71017));
182478
- const which_1 = __importDefault(__nccwpck_require__(6143));
182479
182516
const httpm = __importStar(__nccwpck_require__(96255));
182480
182517
const core = __importStar(__nccwpck_require__(42186));
182481
182518
const cache = __importStar(__nccwpck_require__(27799));
182482
- const exec = __importStar(__nccwpck_require__(71514));
182483
182519
const toolCache = __importStar(__nccwpck_require__(27784));
182520
+ const gradle_1 = __nccwpck_require__(94475);
182484
182521
const gradlew = __importStar(__nccwpck_require__(46807));
182485
182522
const cache_utils_1 = __nccwpck_require__(11044);
182486
182523
const configuration_1 = __nccwpck_require__(15778);
@@ -182491,6 +182528,10 @@ async function provisionGradle(gradleVersion) {
182491
182528
}
182492
182529
return undefined;
182493
182530
}
182531
+ async function provisionGradleAtLeast(gradleVersion) {
182532
+ const installedVersion = await installGradleVersionAtLeast(await gradleRelease(gradleVersion));
182533
+ return addToPath(installedVersion);
182534
+ }
182494
182535
async function addToPath(executable) {
182495
182536
core.addPath(path.dirname(executable));
182496
182537
return executable;
@@ -182514,7 +182555,7 @@ async function resolveGradleVersion(version) {
182514
182555
case 'release-nightly':
182515
182556
return gradleReleaseNightly();
182516
182557
default:
182517
- return gradle (version);
182558
+ return gradleRelease (version);
182518
182559
}
182519
182560
}
182520
182561
async function gradleCurrent() {
@@ -182534,7 +182575,7 @@ async function gradleNightly() {
182534
182575
async function gradleReleaseNightly() {
182535
182576
return await gradleVersionDeclaration(`${gradleVersionsBaseUrl}/release-nightly`);
182536
182577
}
182537
- async function gradle (version) {
182578
+ async function gradleRelease (version) {
182538
182579
const versionInfo = await findGradleVersionDeclaration(version);
182539
182580
if (!versionInfo) {
182540
182581
throw new Error(`Gradle version ${version} does not exists`);
@@ -182552,10 +182593,20 @@ async function findGradleVersionDeclaration(version) {
182552
182593
}
182553
182594
async function installGradleVersion(versionInfo) {
182554
182595
return core.group(`Provision Gradle ${versionInfo.version}`, async () => {
182555
- const preInstalledGradle = await findGradleVersionOnPath(versionInfo );
182556
- if (preInstalledGradle !== undefined ) {
182596
+ const gradleOnPath = await (0, gradle_1. findGradleVersionOnPath)( );
182597
+ if (gradleOnPath?.version === versionInfo.version ) {
182557
182598
core.info(`Gradle version ${versionInfo.version} is already available on PATH. Not installing.`);
182558
- return preInstalledGradle;
182599
+ return gradleOnPath.executable;
182600
+ }
182601
+ return locateGradleAndDownloadIfRequired(versionInfo);
182602
+ });
182603
+ }
182604
+ async function installGradleVersionAtLeast(versionInfo) {
182605
+ return core.group(`Provision Gradle >= ${versionInfo.version}`, async () => {
182606
+ const gradleOnPath = await (0, gradle_1.findGradleVersionOnPath)();
182607
+ if (gradleOnPath && (0, gradle_1.versionIsAtLeast)(gradleOnPath.version, versionInfo.version)) {
182608
+ core.info(`Gradle version ${gradleOnPath.version} is available on PATH and >= ${versionInfo.version}. Not installing.`);
182609
+ return gradleOnPath.executable;
182559
182610
}
182560
182611
return locateGradleAndDownloadIfRequired(versionInfo);
182561
182612
});
@@ -182627,16 +182678,6 @@ async function httpGetString(url) {
182627
182678
const response = await httpClient.get(url);
182628
182679
return response.readBody();
182629
182680
}
182630
- async function findGradleVersionOnPath(versionInfo) {
182631
- const gradleExecutable = await (0, which_1.default)('gradle', { nothrow: true });
182632
- if (gradleExecutable) {
182633
- const output = await exec.getExecOutput(gradleExecutable, ['-v'], { silent: true });
182634
- if (output.stdout.includes(`\nGradle ${versionInfo.version}\n`)) {
182635
- return gradleExecutable;
182636
- }
182637
- }
182638
- return undefined;
182639
- }
182640
182681
182641
182682
182642
182683
/***/ }),
0 commit comments