mirror of
				https://github.com/gradle/gradle-build-action.git
				synced 2025-11-04 01:28:56 +08:00 
			
		
		
		
	Fix check for pre-existing Gradle User Home
This commit is contained in:
		@@ -100,9 +100,14 @@ export class GradleStateCache {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    cacheOutputExists(): boolean {
 | 
			
		||||
        // Need to check for 'caches' directory to avoid incorrect detection on MacOS agents
 | 
			
		||||
        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
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -15,20 +15,24 @@ export async function restore(gradleUserHome: string): Promise<void> {
 | 
			
		||||
    }
 | 
			
		||||
    core.exportVariable(CACHE_RESTORED_VAR, true)
 | 
			
		||||
 | 
			
		||||
    // Initialize the Gradle User Home even when caching is disabled.
 | 
			
		||||
    const gradleStateCache = new GradleStateCache(gradleUserHome)
 | 
			
		||||
    gradleStateCache.init()
 | 
			
		||||
 | 
			
		||||
    if (isCacheDisabled()) {
 | 
			
		||||
        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
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (gradleStateCache.cacheOutputExists()) {
 | 
			
		||||
        core.info('Gradle User Home already exists: will not restore from cache.')
 | 
			
		||||
        // Initialize pre-existing Gradle User Home.
 | 
			
		||||
        gradleStateCache.init()
 | 
			
		||||
        return
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    gradleStateCache.init()
 | 
			
		||||
 | 
			
		||||
    await core.group('Restore Gradle state from cache', async () => {
 | 
			
		||||
        core.saveState(GRADLE_USER_HOME, gradleUserHome)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user