[bot] Update dist directory

This commit is contained in:
bigdaz 2025-01-24 13:18:07 +00:00 committed by github-actions[bot]
parent d068148857
commit b4009b3946
8 changed files with 304 additions and 76 deletions

View File

@ -181584,6 +181584,7 @@ exports.loadBuildResults = loadBuildResults;
exports.markBuildResultsProcessed = markBuildResultsProcessed; exports.markBuildResultsProcessed = markBuildResultsProcessed;
const fs = __importStar(__nccwpck_require__(79896)); const fs = __importStar(__nccwpck_require__(79896));
const path = __importStar(__nccwpck_require__(16928)); const path = __importStar(__nccwpck_require__(16928));
const gradle_1 = __nccwpck_require__(93439);
class BuildResults { class BuildResults {
constructor(results) { constructor(results) {
this.results = results; this.results = results;
@ -181598,6 +181599,18 @@ class BuildResults {
const allHomes = this.results.map(buildResult => buildResult.gradleHomeDir); const allHomes = this.results.map(buildResult => buildResult.gradleHomeDir);
return Array.from(new Set(allHomes)); return Array.from(new Set(allHomes));
} }
highestGradleVersion() {
if (this.results.length === 0) {
return null;
}
return this.results
.map(result => result.gradleVersion)
.reduce((maxVersion, currentVersion) => {
if (!maxVersion)
return currentVersion;
return (0, gradle_1.versionIsAtLeast)(currentVersion, maxVersion) ? currentVersion : maxVersion;
});
}
} }
exports.BuildResults = BuildResults; exports.BuildResults = BuildResults;
function loadBuildResults() { function loadBuildResults() {
@ -181699,6 +181712,7 @@ const exec = __importStar(__nccwpck_require__(95236));
const fs_1 = __importDefault(__nccwpck_require__(79896)); const fs_1 = __importDefault(__nccwpck_require__(79896));
const path_1 = __importDefault(__nccwpck_require__(16928)); const path_1 = __importDefault(__nccwpck_require__(16928));
const provisioner = __importStar(__nccwpck_require__(7145)); const provisioner = __importStar(__nccwpck_require__(7145));
const gradle_1 = __nccwpck_require__(93439);
class CacheCleaner { class CacheCleaner {
constructor(gradleUserHome, tmpDir) { constructor(gradleUserHome, tmpDir) {
this.gradleUserHome = gradleUserHome; this.gradleUserHome = gradleUserHome;
@ -181709,11 +181723,24 @@ class CacheCleaner {
core.saveState('clean-timestamp', timestamp); core.saveState('clean-timestamp', timestamp);
return timestamp; return timestamp;
} }
async forceCleanup() { async forceCleanup(buildResults) {
const executable = await this.gradleExecutableForCleanup(buildResults);
const cleanTimestamp = core.getState('clean-timestamp'); const cleanTimestamp = core.getState('clean-timestamp');
await this.forceCleanupFilesOlderThan(cleanTimestamp); await this.forceCleanupFilesOlderThan(cleanTimestamp, executable);
} }
async forceCleanupFilesOlderThan(cleanTimestamp) { async gradleExecutableForCleanup(buildResults) {
const preferredVersion = buildResults.highestGradleVersion();
if (preferredVersion && (0, gradle_1.versionIsAtLeast)(preferredVersion, '8.11')) {
try {
return await provisioner.provisionGradleAtLeast(preferredVersion);
}
catch (e) {
core.info(`Failed to provision Gradle ${preferredVersion} for cache cleanup. Falling back to default version.`);
}
}
return await provisioner.provisionGradleAtLeast('8.11');
}
async forceCleanupFilesOlderThan(cleanTimestamp, executable) {
const cleanupProjectDir = path_1.default.resolve(this.tmpDir, 'dummy-cleanup-project'); const cleanupProjectDir = path_1.default.resolve(this.tmpDir, 'dummy-cleanup-project');
fs_1.default.mkdirSync(cleanupProjectDir, { recursive: true }); fs_1.default.mkdirSync(cleanupProjectDir, { recursive: true });
fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'settings.gradle'), 'rootProject.name = "dummy-cleanup-project"'); fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'settings.gradle'), 'rootProject.name = "dummy-cleanup-project"');
@ -181733,7 +181760,6 @@ class CacheCleaner {
} }
`); `);
fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'build.gradle'), 'task("noop") {}'); fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'build.gradle'), 'task("noop") {}');
const executable = await provisioner.provisionGradleAtLeast('8.12');
await core.group('Executing Gradle to clean up caches', async () => { await core.group('Executing Gradle to clean up caches', async () => {
core.info(`Cleaning up caches last used before ${cleanTimestamp}`); core.info(`Cleaning up caches last used before ${cleanTimestamp}`);
await this.executeCleanupBuild(executable, cleanupProjectDir); await this.executeCleanupBuild(executable, cleanupProjectDir);
@ -182414,7 +182440,7 @@ async function save(userHome, gradleUserHome, cacheListener, daemonController, b
} }
else if (cacheConfig.shouldPerformCacheCleanup(buildResults.anyFailed())) { else if (cacheConfig.shouldPerformCacheCleanup(buildResults.anyFailed())) {
cacheListener.setCacheCleanupEnabled(); cacheListener.setCacheCleanupEnabled();
await performCacheCleanup(gradleUserHome); await performCacheCleanup(gradleUserHome, buildResults);
} }
else { else {
core.info('Not performing cache-cleanup due to build failure'); core.info('Not performing cache-cleanup due to build failure');
@ -182425,10 +182451,10 @@ async function save(userHome, gradleUserHome, cacheListener, daemonController, b
return new gradle_user_home_cache_1.GradleUserHomeCache(userHome, gradleUserHome, cacheConfig).save(cacheListener); return new gradle_user_home_cache_1.GradleUserHomeCache(userHome, gradleUserHome, cacheConfig).save(cacheListener);
}); });
} }
async function performCacheCleanup(gradleUserHome) { async function performCacheCleanup(gradleUserHome, buildResults) {
const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP']); const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP']);
try { try {
await cacheCleaner.forceCleanup(); await cacheCleaner.forceCleanup(buildResults);
} }
catch (e) { catch (e) {
core.warning(`Cache cleanup failed. Will continue. ${String(e)}`); core.warning(`Cache cleanup failed. Will continue. ${String(e)}`);
@ -183985,7 +184011,7 @@ async function setup(config) {
maybeExportVariableNotEmpty('GRADLE_PLUGIN_REPOSITORY_PASSWORD', config.getGradlePluginRepositoryPassword()); maybeExportVariableNotEmpty('GRADLE_PLUGIN_REPOSITORY_PASSWORD', config.getGradlePluginRepositoryPassword());
if (config.getBuildScanPublishEnabled()) { if (config.getBuildScanPublishEnabled()) {
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true'); maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.19'); maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.19.1');
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.1'); maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.1');
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl()); maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree()); maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
@ -184350,17 +184376,35 @@ async function executeGradleBuild(executable, root, args) {
} }
} }
function versionIsAtLeast(actualVersion, requiredVersion) { function versionIsAtLeast(actualVersion, requiredVersion) {
const splitVersion = actualVersion.split('-'); if (actualVersion === requiredVersion) {
const coreVersion = splitVersion[0]; return true;
const prerelease = splitVersion.length > 1;
const actualSemver = semver.coerce(coreVersion);
const comparisonSemver = semver.coerce(requiredVersion);
if (prerelease) {
return semver.gt(actualSemver, comparisonSemver);
} }
else { const actual = new GradleVersion(actualVersion);
return semver.gte(actualSemver, comparisonSemver); const required = new GradleVersion(requiredVersion);
const actualSemver = semver.coerce(actual.versionPart);
const comparisonSemver = semver.coerce(required.versionPart);
if (semver.gt(actualSemver, comparisonSemver)) {
return true;
} }
if (semver.lt(actualSemver, comparisonSemver)) {
return false;
}
if (actual.snapshotPart || required.snapshotPart) {
if (actual.snapshotPart && !required.snapshotPart && !required.stagePart) {
return false;
}
if (required.snapshotPart && !actual.snapshotPart && !actual.stagePart) {
return true;
}
return false;
}
if (actual.stagePart) {
if (required.stagePart) {
return actual.stagePart >= required.stagePart;
}
return false;
}
return true;
} }
async function findGradleVersionOnPath() { async function findGradleVersionOnPath() {
const gradleExecutable = await (0, which_1.default)('gradle', { nothrow: true }); const gradleExecutable = await (0, which_1.default)('gradle', { nothrow: true });
@ -184382,6 +184426,19 @@ class GradleExecutable {
this.executable = executable; this.executable = executable;
} }
} }
class GradleVersion {
constructor(version) {
this.version = version;
const matcher = GradleVersion.PATTERN.exec(version);
if (!matcher) {
throw new Error(`'${version}' is not a valid Gradle version string (examples: '1.0', '1.0-rc-1')`);
}
this.versionPart = matcher[1];
this.stagePart = matcher[4];
this.snapshotPart = matcher[7];
}
}
GradleVersion.PATTERN = /((\d+)(\.\d+)+)(-([a-z]+)-(\w+))?(-(SNAPSHOT|\d{14}([-+]\d{4})?))?/;
/***/ }), /***/ }),
@ -184579,7 +184636,7 @@ async function gradleReleaseNightly() {
async function gradleRelease(version) { async function gradleRelease(version) {
const versionInfo = await findGradleVersionDeclaration(version); const versionInfo = await findGradleVersionDeclaration(version);
if (!versionInfo) { if (!versionInfo) {
throw new Error(`Gradle version ${version} does not exists`); throw new Error(`Gradle version ${version} does not exist`);
} }
return versionInfo; return versionInfo;
} }

File diff suppressed because one or more lines are too long

View File

@ -141830,6 +141830,7 @@ exports.loadBuildResults = loadBuildResults;
exports.markBuildResultsProcessed = markBuildResultsProcessed; exports.markBuildResultsProcessed = markBuildResultsProcessed;
const fs = __importStar(__nccwpck_require__(79896)); const fs = __importStar(__nccwpck_require__(79896));
const path = __importStar(__nccwpck_require__(16928)); const path = __importStar(__nccwpck_require__(16928));
const gradle_1 = __nccwpck_require__(93439);
class BuildResults { class BuildResults {
constructor(results) { constructor(results) {
this.results = results; this.results = results;
@ -141844,6 +141845,18 @@ class BuildResults {
const allHomes = this.results.map(buildResult => buildResult.gradleHomeDir); const allHomes = this.results.map(buildResult => buildResult.gradleHomeDir);
return Array.from(new Set(allHomes)); return Array.from(new Set(allHomes));
} }
highestGradleVersion() {
if (this.results.length === 0) {
return null;
}
return this.results
.map(result => result.gradleVersion)
.reduce((maxVersion, currentVersion) => {
if (!maxVersion)
return currentVersion;
return (0, gradle_1.versionIsAtLeast)(currentVersion, maxVersion) ? currentVersion : maxVersion;
});
}
} }
exports.BuildResults = BuildResults; exports.BuildResults = BuildResults;
function loadBuildResults() { function loadBuildResults() {
@ -141945,6 +141958,7 @@ const exec = __importStar(__nccwpck_require__(95236));
const fs_1 = __importDefault(__nccwpck_require__(79896)); const fs_1 = __importDefault(__nccwpck_require__(79896));
const path_1 = __importDefault(__nccwpck_require__(16928)); const path_1 = __importDefault(__nccwpck_require__(16928));
const provisioner = __importStar(__nccwpck_require__(7145)); const provisioner = __importStar(__nccwpck_require__(7145));
const gradle_1 = __nccwpck_require__(93439);
class CacheCleaner { class CacheCleaner {
constructor(gradleUserHome, tmpDir) { constructor(gradleUserHome, tmpDir) {
this.gradleUserHome = gradleUserHome; this.gradleUserHome = gradleUserHome;
@ -141955,11 +141969,24 @@ class CacheCleaner {
core.saveState('clean-timestamp', timestamp); core.saveState('clean-timestamp', timestamp);
return timestamp; return timestamp;
} }
async forceCleanup() { async forceCleanup(buildResults) {
const executable = await this.gradleExecutableForCleanup(buildResults);
const cleanTimestamp = core.getState('clean-timestamp'); const cleanTimestamp = core.getState('clean-timestamp');
await this.forceCleanupFilesOlderThan(cleanTimestamp); await this.forceCleanupFilesOlderThan(cleanTimestamp, executable);
} }
async forceCleanupFilesOlderThan(cleanTimestamp) { async gradleExecutableForCleanup(buildResults) {
const preferredVersion = buildResults.highestGradleVersion();
if (preferredVersion && (0, gradle_1.versionIsAtLeast)(preferredVersion, '8.11')) {
try {
return await provisioner.provisionGradleAtLeast(preferredVersion);
}
catch (e) {
core.info(`Failed to provision Gradle ${preferredVersion} for cache cleanup. Falling back to default version.`);
}
}
return await provisioner.provisionGradleAtLeast('8.11');
}
async forceCleanupFilesOlderThan(cleanTimestamp, executable) {
const cleanupProjectDir = path_1.default.resolve(this.tmpDir, 'dummy-cleanup-project'); const cleanupProjectDir = path_1.default.resolve(this.tmpDir, 'dummy-cleanup-project');
fs_1.default.mkdirSync(cleanupProjectDir, { recursive: true }); fs_1.default.mkdirSync(cleanupProjectDir, { recursive: true });
fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'settings.gradle'), 'rootProject.name = "dummy-cleanup-project"'); fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'settings.gradle'), 'rootProject.name = "dummy-cleanup-project"');
@ -141979,7 +142006,6 @@ class CacheCleaner {
} }
`); `);
fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'build.gradle'), 'task("noop") {}'); fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'build.gradle'), 'task("noop") {}');
const executable = await provisioner.provisionGradleAtLeast('8.12');
await core.group('Executing Gradle to clean up caches', async () => { await core.group('Executing Gradle to clean up caches', async () => {
core.info(`Cleaning up caches last used before ${cleanTimestamp}`); core.info(`Cleaning up caches last used before ${cleanTimestamp}`);
await this.executeCleanupBuild(executable, cleanupProjectDir); await this.executeCleanupBuild(executable, cleanupProjectDir);
@ -142660,7 +142686,7 @@ async function save(userHome, gradleUserHome, cacheListener, daemonController, b
} }
else if (cacheConfig.shouldPerformCacheCleanup(buildResults.anyFailed())) { else if (cacheConfig.shouldPerformCacheCleanup(buildResults.anyFailed())) {
cacheListener.setCacheCleanupEnabled(); cacheListener.setCacheCleanupEnabled();
await performCacheCleanup(gradleUserHome); await performCacheCleanup(gradleUserHome, buildResults);
} }
else { else {
core.info('Not performing cache-cleanup due to build failure'); core.info('Not performing cache-cleanup due to build failure');
@ -142671,10 +142697,10 @@ async function save(userHome, gradleUserHome, cacheListener, daemonController, b
return new gradle_user_home_cache_1.GradleUserHomeCache(userHome, gradleUserHome, cacheConfig).save(cacheListener); return new gradle_user_home_cache_1.GradleUserHomeCache(userHome, gradleUserHome, cacheConfig).save(cacheListener);
}); });
} }
async function performCacheCleanup(gradleUserHome) { async function performCacheCleanup(gradleUserHome, buildResults) {
const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP']); const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP']);
try { try {
await cacheCleaner.forceCleanup(); await cacheCleaner.forceCleanup(buildResults);
} }
catch (e) { catch (e) {
core.warning(`Cache cleanup failed. Will continue. ${String(e)}`); core.warning(`Cache cleanup failed. Will continue. ${String(e)}`);
@ -143946,7 +143972,7 @@ async function setup(config) {
maybeExportVariableNotEmpty('GRADLE_PLUGIN_REPOSITORY_PASSWORD', config.getGradlePluginRepositoryPassword()); maybeExportVariableNotEmpty('GRADLE_PLUGIN_REPOSITORY_PASSWORD', config.getGradlePluginRepositoryPassword());
if (config.getBuildScanPublishEnabled()) { if (config.getBuildScanPublishEnabled()) {
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true'); maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.19'); maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.19.1');
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.1'); maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.1');
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl()); maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree()); maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
@ -144311,17 +144337,35 @@ async function executeGradleBuild(executable, root, args) {
} }
} }
function versionIsAtLeast(actualVersion, requiredVersion) { function versionIsAtLeast(actualVersion, requiredVersion) {
const splitVersion = actualVersion.split('-'); if (actualVersion === requiredVersion) {
const coreVersion = splitVersion[0]; return true;
const prerelease = splitVersion.length > 1;
const actualSemver = semver.coerce(coreVersion);
const comparisonSemver = semver.coerce(requiredVersion);
if (prerelease) {
return semver.gt(actualSemver, comparisonSemver);
} }
else { const actual = new GradleVersion(actualVersion);
return semver.gte(actualSemver, comparisonSemver); const required = new GradleVersion(requiredVersion);
const actualSemver = semver.coerce(actual.versionPart);
const comparisonSemver = semver.coerce(required.versionPart);
if (semver.gt(actualSemver, comparisonSemver)) {
return true;
} }
if (semver.lt(actualSemver, comparisonSemver)) {
return false;
}
if (actual.snapshotPart || required.snapshotPart) {
if (actual.snapshotPart && !required.snapshotPart && !required.stagePart) {
return false;
}
if (required.snapshotPart && !actual.snapshotPart && !actual.stagePart) {
return true;
}
return false;
}
if (actual.stagePart) {
if (required.stagePart) {
return actual.stagePart >= required.stagePart;
}
return false;
}
return true;
} }
async function findGradleVersionOnPath() { async function findGradleVersionOnPath() {
const gradleExecutable = await (0, which_1.default)('gradle', { nothrow: true }); const gradleExecutable = await (0, which_1.default)('gradle', { nothrow: true });
@ -144343,6 +144387,19 @@ class GradleExecutable {
this.executable = executable; this.executable = executable;
} }
} }
class GradleVersion {
constructor(version) {
this.version = version;
const matcher = GradleVersion.PATTERN.exec(version);
if (!matcher) {
throw new Error(`'${version}' is not a valid Gradle version string (examples: '1.0', '1.0-rc-1')`);
}
this.versionPart = matcher[1];
this.stagePart = matcher[4];
this.snapshotPart = matcher[7];
}
}
GradleVersion.PATTERN = /((\d+)(\.\d+)+)(-([a-z]+)-(\w+))?(-(SNAPSHOT|\d{14}([-+]\d{4})?))?/;
/***/ }), /***/ }),
@ -144540,7 +144597,7 @@ async function gradleReleaseNightly() {
async function gradleRelease(version) { async function gradleRelease(version) {
const versionInfo = await findGradleVersionDeclaration(version); const versionInfo = await findGradleVersionDeclaration(version);
if (!versionInfo) { if (!versionInfo) {
throw new Error(`Gradle version ${version} does not exists`); throw new Error(`Gradle version ${version} does not exist`);
} }
return versionInfo; return versionInfo;
} }

File diff suppressed because one or more lines are too long

View File

@ -181569,6 +181569,7 @@ exports.loadBuildResults = loadBuildResults;
exports.markBuildResultsProcessed = markBuildResultsProcessed; exports.markBuildResultsProcessed = markBuildResultsProcessed;
const fs = __importStar(__nccwpck_require__(79896)); const fs = __importStar(__nccwpck_require__(79896));
const path = __importStar(__nccwpck_require__(16928)); const path = __importStar(__nccwpck_require__(16928));
const gradle_1 = __nccwpck_require__(93439);
class BuildResults { class BuildResults {
constructor(results) { constructor(results) {
this.results = results; this.results = results;
@ -181583,6 +181584,18 @@ class BuildResults {
const allHomes = this.results.map(buildResult => buildResult.gradleHomeDir); const allHomes = this.results.map(buildResult => buildResult.gradleHomeDir);
return Array.from(new Set(allHomes)); return Array.from(new Set(allHomes));
} }
highestGradleVersion() {
if (this.results.length === 0) {
return null;
}
return this.results
.map(result => result.gradleVersion)
.reduce((maxVersion, currentVersion) => {
if (!maxVersion)
return currentVersion;
return (0, gradle_1.versionIsAtLeast)(currentVersion, maxVersion) ? currentVersion : maxVersion;
});
}
} }
exports.BuildResults = BuildResults; exports.BuildResults = BuildResults;
function loadBuildResults() { function loadBuildResults() {
@ -181684,6 +181697,7 @@ const exec = __importStar(__nccwpck_require__(95236));
const fs_1 = __importDefault(__nccwpck_require__(79896)); const fs_1 = __importDefault(__nccwpck_require__(79896));
const path_1 = __importDefault(__nccwpck_require__(16928)); const path_1 = __importDefault(__nccwpck_require__(16928));
const provisioner = __importStar(__nccwpck_require__(7145)); const provisioner = __importStar(__nccwpck_require__(7145));
const gradle_1 = __nccwpck_require__(93439);
class CacheCleaner { class CacheCleaner {
constructor(gradleUserHome, tmpDir) { constructor(gradleUserHome, tmpDir) {
this.gradleUserHome = gradleUserHome; this.gradleUserHome = gradleUserHome;
@ -181694,11 +181708,24 @@ class CacheCleaner {
core.saveState('clean-timestamp', timestamp); core.saveState('clean-timestamp', timestamp);
return timestamp; return timestamp;
} }
async forceCleanup() { async forceCleanup(buildResults) {
const executable = await this.gradleExecutableForCleanup(buildResults);
const cleanTimestamp = core.getState('clean-timestamp'); const cleanTimestamp = core.getState('clean-timestamp');
await this.forceCleanupFilesOlderThan(cleanTimestamp); await this.forceCleanupFilesOlderThan(cleanTimestamp, executable);
} }
async forceCleanupFilesOlderThan(cleanTimestamp) { async gradleExecutableForCleanup(buildResults) {
const preferredVersion = buildResults.highestGradleVersion();
if (preferredVersion && (0, gradle_1.versionIsAtLeast)(preferredVersion, '8.11')) {
try {
return await provisioner.provisionGradleAtLeast(preferredVersion);
}
catch (e) {
core.info(`Failed to provision Gradle ${preferredVersion} for cache cleanup. Falling back to default version.`);
}
}
return await provisioner.provisionGradleAtLeast('8.11');
}
async forceCleanupFilesOlderThan(cleanTimestamp, executable) {
const cleanupProjectDir = path_1.default.resolve(this.tmpDir, 'dummy-cleanup-project'); const cleanupProjectDir = path_1.default.resolve(this.tmpDir, 'dummy-cleanup-project');
fs_1.default.mkdirSync(cleanupProjectDir, { recursive: true }); fs_1.default.mkdirSync(cleanupProjectDir, { recursive: true });
fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'settings.gradle'), 'rootProject.name = "dummy-cleanup-project"'); fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'settings.gradle'), 'rootProject.name = "dummy-cleanup-project"');
@ -181718,7 +181745,6 @@ class CacheCleaner {
} }
`); `);
fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'build.gradle'), 'task("noop") {}'); fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'build.gradle'), 'task("noop") {}');
const executable = await provisioner.provisionGradleAtLeast('8.12');
await core.group('Executing Gradle to clean up caches', async () => { await core.group('Executing Gradle to clean up caches', async () => {
core.info(`Cleaning up caches last used before ${cleanTimestamp}`); core.info(`Cleaning up caches last used before ${cleanTimestamp}`);
await this.executeCleanupBuild(executable, cleanupProjectDir); await this.executeCleanupBuild(executable, cleanupProjectDir);
@ -182399,7 +182425,7 @@ async function save(userHome, gradleUserHome, cacheListener, daemonController, b
} }
else if (cacheConfig.shouldPerformCacheCleanup(buildResults.anyFailed())) { else if (cacheConfig.shouldPerformCacheCleanup(buildResults.anyFailed())) {
cacheListener.setCacheCleanupEnabled(); cacheListener.setCacheCleanupEnabled();
await performCacheCleanup(gradleUserHome); await performCacheCleanup(gradleUserHome, buildResults);
} }
else { else {
core.info('Not performing cache-cleanup due to build failure'); core.info('Not performing cache-cleanup due to build failure');
@ -182410,10 +182436,10 @@ async function save(userHome, gradleUserHome, cacheListener, daemonController, b
return new gradle_user_home_cache_1.GradleUserHomeCache(userHome, gradleUserHome, cacheConfig).save(cacheListener); return new gradle_user_home_cache_1.GradleUserHomeCache(userHome, gradleUserHome, cacheConfig).save(cacheListener);
}); });
} }
async function performCacheCleanup(gradleUserHome) { async function performCacheCleanup(gradleUserHome, buildResults) {
const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP']); const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP']);
try { try {
await cacheCleaner.forceCleanup(); await cacheCleaner.forceCleanup(buildResults);
} }
catch (e) { catch (e) {
core.warning(`Cache cleanup failed. Will continue. ${String(e)}`); core.warning(`Cache cleanup failed. Will continue. ${String(e)}`);
@ -183970,7 +183996,7 @@ async function setup(config) {
maybeExportVariableNotEmpty('GRADLE_PLUGIN_REPOSITORY_PASSWORD', config.getGradlePluginRepositoryPassword()); maybeExportVariableNotEmpty('GRADLE_PLUGIN_REPOSITORY_PASSWORD', config.getGradlePluginRepositoryPassword());
if (config.getBuildScanPublishEnabled()) { if (config.getBuildScanPublishEnabled()) {
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true'); maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.19'); maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.19.1');
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.1'); maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.1');
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl()); maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree()); maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
@ -184335,17 +184361,35 @@ async function executeGradleBuild(executable, root, args) {
} }
} }
function versionIsAtLeast(actualVersion, requiredVersion) { function versionIsAtLeast(actualVersion, requiredVersion) {
const splitVersion = actualVersion.split('-'); if (actualVersion === requiredVersion) {
const coreVersion = splitVersion[0]; return true;
const prerelease = splitVersion.length > 1;
const actualSemver = semver.coerce(coreVersion);
const comparisonSemver = semver.coerce(requiredVersion);
if (prerelease) {
return semver.gt(actualSemver, comparisonSemver);
} }
else { const actual = new GradleVersion(actualVersion);
return semver.gte(actualSemver, comparisonSemver); const required = new GradleVersion(requiredVersion);
const actualSemver = semver.coerce(actual.versionPart);
const comparisonSemver = semver.coerce(required.versionPart);
if (semver.gt(actualSemver, comparisonSemver)) {
return true;
} }
if (semver.lt(actualSemver, comparisonSemver)) {
return false;
}
if (actual.snapshotPart || required.snapshotPart) {
if (actual.snapshotPart && !required.snapshotPart && !required.stagePart) {
return false;
}
if (required.snapshotPart && !actual.snapshotPart && !actual.stagePart) {
return true;
}
return false;
}
if (actual.stagePart) {
if (required.stagePart) {
return actual.stagePart >= required.stagePart;
}
return false;
}
return true;
} }
async function findGradleVersionOnPath() { async function findGradleVersionOnPath() {
const gradleExecutable = await (0, which_1.default)('gradle', { nothrow: true }); const gradleExecutable = await (0, which_1.default)('gradle', { nothrow: true });
@ -184367,6 +184411,19 @@ class GradleExecutable {
this.executable = executable; this.executable = executable;
} }
} }
class GradleVersion {
constructor(version) {
this.version = version;
const matcher = GradleVersion.PATTERN.exec(version);
if (!matcher) {
throw new Error(`'${version}' is not a valid Gradle version string (examples: '1.0', '1.0-rc-1')`);
}
this.versionPart = matcher[1];
this.stagePart = matcher[4];
this.snapshotPart = matcher[7];
}
}
GradleVersion.PATTERN = /((\d+)(\.\d+)+)(-([a-z]+)-(\w+))?(-(SNAPSHOT|\d{14}([-+]\d{4})?))?/;
/***/ }), /***/ }),
@ -184564,7 +184621,7 @@ async function gradleReleaseNightly() {
async function gradleRelease(version) { async function gradleRelease(version) {
const versionInfo = await findGradleVersionDeclaration(version); const versionInfo = await findGradleVersionDeclaration(version);
if (!versionInfo) { if (!versionInfo) {
throw new Error(`Gradle version ${version} does not exists`); throw new Error(`Gradle version ${version} does not exist`);
} }
return versionInfo; return versionInfo;
} }

File diff suppressed because one or more lines are too long

View File

@ -181564,6 +181564,7 @@ exports.loadBuildResults = loadBuildResults;
exports.markBuildResultsProcessed = markBuildResultsProcessed; exports.markBuildResultsProcessed = markBuildResultsProcessed;
const fs = __importStar(__nccwpck_require__(79896)); const fs = __importStar(__nccwpck_require__(79896));
const path = __importStar(__nccwpck_require__(16928)); const path = __importStar(__nccwpck_require__(16928));
const gradle_1 = __nccwpck_require__(93439);
class BuildResults { class BuildResults {
constructor(results) { constructor(results) {
this.results = results; this.results = results;
@ -181578,6 +181579,18 @@ class BuildResults {
const allHomes = this.results.map(buildResult => buildResult.gradleHomeDir); const allHomes = this.results.map(buildResult => buildResult.gradleHomeDir);
return Array.from(new Set(allHomes)); return Array.from(new Set(allHomes));
} }
highestGradleVersion() {
if (this.results.length === 0) {
return null;
}
return this.results
.map(result => result.gradleVersion)
.reduce((maxVersion, currentVersion) => {
if (!maxVersion)
return currentVersion;
return (0, gradle_1.versionIsAtLeast)(currentVersion, maxVersion) ? currentVersion : maxVersion;
});
}
} }
exports.BuildResults = BuildResults; exports.BuildResults = BuildResults;
function loadBuildResults() { function loadBuildResults() {
@ -181679,6 +181692,7 @@ const exec = __importStar(__nccwpck_require__(95236));
const fs_1 = __importDefault(__nccwpck_require__(79896)); const fs_1 = __importDefault(__nccwpck_require__(79896));
const path_1 = __importDefault(__nccwpck_require__(16928)); const path_1 = __importDefault(__nccwpck_require__(16928));
const provisioner = __importStar(__nccwpck_require__(7145)); const provisioner = __importStar(__nccwpck_require__(7145));
const gradle_1 = __nccwpck_require__(93439);
class CacheCleaner { class CacheCleaner {
constructor(gradleUserHome, tmpDir) { constructor(gradleUserHome, tmpDir) {
this.gradleUserHome = gradleUserHome; this.gradleUserHome = gradleUserHome;
@ -181689,11 +181703,24 @@ class CacheCleaner {
core.saveState('clean-timestamp', timestamp); core.saveState('clean-timestamp', timestamp);
return timestamp; return timestamp;
} }
async forceCleanup() { async forceCleanup(buildResults) {
const executable = await this.gradleExecutableForCleanup(buildResults);
const cleanTimestamp = core.getState('clean-timestamp'); const cleanTimestamp = core.getState('clean-timestamp');
await this.forceCleanupFilesOlderThan(cleanTimestamp); await this.forceCleanupFilesOlderThan(cleanTimestamp, executable);
} }
async forceCleanupFilesOlderThan(cleanTimestamp) { async gradleExecutableForCleanup(buildResults) {
const preferredVersion = buildResults.highestGradleVersion();
if (preferredVersion && (0, gradle_1.versionIsAtLeast)(preferredVersion, '8.11')) {
try {
return await provisioner.provisionGradleAtLeast(preferredVersion);
}
catch (e) {
core.info(`Failed to provision Gradle ${preferredVersion} for cache cleanup. Falling back to default version.`);
}
}
return await provisioner.provisionGradleAtLeast('8.11');
}
async forceCleanupFilesOlderThan(cleanTimestamp, executable) {
const cleanupProjectDir = path_1.default.resolve(this.tmpDir, 'dummy-cleanup-project'); const cleanupProjectDir = path_1.default.resolve(this.tmpDir, 'dummy-cleanup-project');
fs_1.default.mkdirSync(cleanupProjectDir, { recursive: true }); fs_1.default.mkdirSync(cleanupProjectDir, { recursive: true });
fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'settings.gradle'), 'rootProject.name = "dummy-cleanup-project"'); fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'settings.gradle'), 'rootProject.name = "dummy-cleanup-project"');
@ -181713,7 +181740,6 @@ class CacheCleaner {
} }
`); `);
fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'build.gradle'), 'task("noop") {}'); fs_1.default.writeFileSync(path_1.default.resolve(cleanupProjectDir, 'build.gradle'), 'task("noop") {}');
const executable = await provisioner.provisionGradleAtLeast('8.12');
await core.group('Executing Gradle to clean up caches', async () => { await core.group('Executing Gradle to clean up caches', async () => {
core.info(`Cleaning up caches last used before ${cleanTimestamp}`); core.info(`Cleaning up caches last used before ${cleanTimestamp}`);
await this.executeCleanupBuild(executable, cleanupProjectDir); await this.executeCleanupBuild(executable, cleanupProjectDir);
@ -182394,7 +182420,7 @@ async function save(userHome, gradleUserHome, cacheListener, daemonController, b
} }
else if (cacheConfig.shouldPerformCacheCleanup(buildResults.anyFailed())) { else if (cacheConfig.shouldPerformCacheCleanup(buildResults.anyFailed())) {
cacheListener.setCacheCleanupEnabled(); cacheListener.setCacheCleanupEnabled();
await performCacheCleanup(gradleUserHome); await performCacheCleanup(gradleUserHome, buildResults);
} }
else { else {
core.info('Not performing cache-cleanup due to build failure'); core.info('Not performing cache-cleanup due to build failure');
@ -182405,10 +182431,10 @@ async function save(userHome, gradleUserHome, cacheListener, daemonController, b
return new gradle_user_home_cache_1.GradleUserHomeCache(userHome, gradleUserHome, cacheConfig).save(cacheListener); return new gradle_user_home_cache_1.GradleUserHomeCache(userHome, gradleUserHome, cacheConfig).save(cacheListener);
}); });
} }
async function performCacheCleanup(gradleUserHome) { async function performCacheCleanup(gradleUserHome, buildResults) {
const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP']); const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP']);
try { try {
await cacheCleaner.forceCleanup(); await cacheCleaner.forceCleanup(buildResults);
} }
catch (e) { catch (e) {
core.warning(`Cache cleanup failed. Will continue. ${String(e)}`); core.warning(`Cache cleanup failed. Will continue. ${String(e)}`);
@ -183965,7 +183991,7 @@ async function setup(config) {
maybeExportVariableNotEmpty('GRADLE_PLUGIN_REPOSITORY_PASSWORD', config.getGradlePluginRepositoryPassword()); maybeExportVariableNotEmpty('GRADLE_PLUGIN_REPOSITORY_PASSWORD', config.getGradlePluginRepositoryPassword());
if (config.getBuildScanPublishEnabled()) { if (config.getBuildScanPublishEnabled()) {
maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true'); maybeExportVariable('DEVELOCITY_INJECTION_ENABLED', 'true');
maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.19'); maybeExportVariable('DEVELOCITY_PLUGIN_VERSION', '3.19.1');
maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.1'); maybeExportVariable('DEVELOCITY_CCUD_PLUGIN_VERSION', '2.1');
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl()); maybeExportVariable('DEVELOCITY_TERMS_OF_USE_URL', config.getBuildScanTermsOfUseUrl());
maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree()); maybeExportVariable('DEVELOCITY_TERMS_OF_USE_AGREE', config.getBuildScanTermsOfUseAgree());
@ -184330,17 +184356,35 @@ async function executeGradleBuild(executable, root, args) {
} }
} }
function versionIsAtLeast(actualVersion, requiredVersion) { function versionIsAtLeast(actualVersion, requiredVersion) {
const splitVersion = actualVersion.split('-'); if (actualVersion === requiredVersion) {
const coreVersion = splitVersion[0]; return true;
const prerelease = splitVersion.length > 1;
const actualSemver = semver.coerce(coreVersion);
const comparisonSemver = semver.coerce(requiredVersion);
if (prerelease) {
return semver.gt(actualSemver, comparisonSemver);
} }
else { const actual = new GradleVersion(actualVersion);
return semver.gte(actualSemver, comparisonSemver); const required = new GradleVersion(requiredVersion);
const actualSemver = semver.coerce(actual.versionPart);
const comparisonSemver = semver.coerce(required.versionPart);
if (semver.gt(actualSemver, comparisonSemver)) {
return true;
} }
if (semver.lt(actualSemver, comparisonSemver)) {
return false;
}
if (actual.snapshotPart || required.snapshotPart) {
if (actual.snapshotPart && !required.snapshotPart && !required.stagePart) {
return false;
}
if (required.snapshotPart && !actual.snapshotPart && !actual.stagePart) {
return true;
}
return false;
}
if (actual.stagePart) {
if (required.stagePart) {
return actual.stagePart >= required.stagePart;
}
return false;
}
return true;
} }
async function findGradleVersionOnPath() { async function findGradleVersionOnPath() {
const gradleExecutable = await (0, which_1.default)('gradle', { nothrow: true }); const gradleExecutable = await (0, which_1.default)('gradle', { nothrow: true });
@ -184362,6 +184406,19 @@ class GradleExecutable {
this.executable = executable; this.executable = executable;
} }
} }
class GradleVersion {
constructor(version) {
this.version = version;
const matcher = GradleVersion.PATTERN.exec(version);
if (!matcher) {
throw new Error(`'${version}' is not a valid Gradle version string (examples: '1.0', '1.0-rc-1')`);
}
this.versionPart = matcher[1];
this.stagePart = matcher[4];
this.snapshotPart = matcher[7];
}
}
GradleVersion.PATTERN = /((\d+)(\.\d+)+)(-([a-z]+)-(\w+))?(-(SNAPSHOT|\d{14}([-+]\d{4})?))?/;
/***/ }), /***/ }),
@ -184559,7 +184616,7 @@ async function gradleReleaseNightly() {
async function gradleRelease(version) { async function gradleRelease(version) {
const versionInfo = await findGradleVersionDeclaration(version); const versionInfo = await findGradleVersionDeclaration(version);
if (!versionInfo) { if (!versionInfo) {
throw new Error(`Gradle version ${version} does not exists`); throw new Error(`Gradle version ${version} does not exist`);
} }
return versionInfo; return versionInfo;
} }

File diff suppressed because one or more lines are too long