Support use of passed Gradle executable

Signed-off-by: Anders Fischer-Nielsen <andersfischern@me.com>
This commit is contained in:
Anders Fischer-Nielsen 2022-09-12 13:47:11 +02:00
parent 9b0ff91415
commit bf387dd8b2
No known key found for this signature in database
6 changed files with 58 additions and 14 deletions

19
dist/main/index.js vendored
View file

@ -65878,10 +65878,11 @@ const glob = __importStar(__nccwpck_require__(8090));
const fs_1 = __importDefault(__nccwpck_require__(7147));
const path_1 = __importDefault(__nccwpck_require__(1017));
class CacheCleaner {
constructor(gradleUserHome, tmpDir, gradleVersion) {
constructor(gradleUserHome, tmpDir, gradleVersion, gradleExecutable) {
this.gradleUserHome = gradleUserHome;
this.tmpDir = tmpDir;
this.gradleVersion = gradleVersion;
this.gradleExecutable = gradleExecutable;
}
prepare() {
return __awaiter(this, void 0, void 0, function* () {
@ -65899,12 +65900,19 @@ class CacheCleaner {
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, 'build.gradle'), 'task("noop") {}');
const gradleExecutable = this.gradleVersion === 'wrapper' ? './gradlew' : 'gradle';
const gradleExecutable = this.determineGradleExecutable(this.gradleExecutable, this.gradleVersion);
yield exec.exec(`${gradleExecutable} -g ${this.gradleUserHome} --no-daemon --build-cache --no-scan --quiet noop`, [], {
cwd: cleanupProjectDir
});
});
}
determineGradleExecutable(gradleExecutable, gradleVersion) {
if (gradleExecutable)
return gradleExecutable;
if (gradleVersion === 'wrapper')
return './gradlew';
return 'gradle';
}
ageAllFiles(fileName = '*') {
return __awaiter(this, void 0, void 0, function* () {
core.debug(`Aging all files in Gradle User Homee with name ${fileName}`);
@ -66740,6 +66748,7 @@ const cache_base_1 = __nccwpck_require__(7591);
const cache_cleaner_1 = __nccwpck_require__(57);
const CACHE_RESTORED_VAR = 'GRADLE_BUILD_ACTION_CACHE_RESTORED';
const GRADLE_VERSION = 'GRADLE_VERSION';
const GRADLE_EXECUTABLE = 'GRADLE_EXECUTABLE';
function restore(gradleUserHome, cacheListener) {
return __awaiter(this, void 0, void 0, function* () {
if (process.env[CACHE_RESTORED_VAR]) {
@ -66772,7 +66781,8 @@ function restore(gradleUserHome, cacheListener) {
if ((0, cache_utils_1.isCacheCleanupEnabled)() && !(0, cache_utils_1.isCacheReadOnly)()) {
core.info('Preparing cache for cleanup.');
const gradleVersion = core.getState(GRADLE_VERSION);
const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP'], gradleVersion);
const gradleExecutable = core.getState(GRADLE_EXECUTABLE);
const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP'], gradleVersion, gradleExecutable);
yield cacheCleaner.prepare();
}
});
@ -66797,7 +66807,8 @@ function save(gradleUserHome, cacheListener, daemonController) {
if ((0, cache_utils_1.isCacheCleanupEnabled)()) {
core.info('Forcing cache cleanup.');
const gradleVersion = core.getState(GRADLE_VERSION);
const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP'], gradleVersion);
const gradleExecutable = core.getState(GRADLE_EXECUTABLE);
const cacheCleaner = new cache_cleaner_1.CacheCleaner(gradleUserHome, process.env['RUNNER_TEMP'], gradleVersion, gradleExecutable);
yield cacheCleaner.forceCleanup();
}
yield core.group('Caching Gradle state', () => __awaiter(this, void 0, void 0, function* () {

File diff suppressed because one or more lines are too long