Fix check for pre-existing Gradle User Home

This commit is contained in:
Daz DeBoer 2022-01-17 14:06:56 -07:00
parent 50ca2bca83
commit 7dee0f45c2
No known key found for this signature in database
GPG key ID: DD6B9F0B06683D5D
2 changed files with 13 additions and 4 deletions

View file

@ -100,9 +100,14 @@ export class GradleStateCache {
} }
cacheOutputExists(): boolean { cacheOutputExists(): boolean {
// Need to check for 'caches' directory to avoid incorrect detection on MacOS agents
const paths = this.getCachePath() const paths = this.getCachePath()
return paths.some(x => fs.existsSync(x)) for (const p of paths) {
if (fs.existsSync(p)) {
cacheDebug(`Cache output exists at ${p}`)
return true
}
}
return false
} }
/** /**

View file

@ -15,20 +15,24 @@ export async function restore(gradleUserHome: string): Promise<void> {
} }
core.exportVariable(CACHE_RESTORED_VAR, true) core.exportVariable(CACHE_RESTORED_VAR, true)
// Initialize the Gradle User Home even when caching is disabled.
const gradleStateCache = new GradleStateCache(gradleUserHome) const gradleStateCache = new GradleStateCache(gradleUserHome)
gradleStateCache.init()
if (isCacheDisabled()) { if (isCacheDisabled()) {
core.info('Cache is disabled: will not restore state from previous builds.') core.info('Cache is disabled: will not restore state from previous builds.')
// Initialize the Gradle User Home even when caching is disabled.
gradleStateCache.init()
return return
} }
if (gradleStateCache.cacheOutputExists()) { if (gradleStateCache.cacheOutputExists()) {
core.info('Gradle User Home already exists: will not restore from cache.') core.info('Gradle User Home already exists: will not restore from cache.')
// Initialize pre-existing Gradle User Home.
gradleStateCache.init()
return return
} }
gradleStateCache.init()
await core.group('Restore Gradle state from cache', async () => { await core.group('Restore Gradle state from cache', async () => {
core.saveState(GRADLE_USER_HOME, gradleUserHome) core.saveState(GRADLE_USER_HOME, gradleUserHome)