mirror of
				https://github.com/gradle/gradle-build-action.git
				synced 2025-11-04 01:28:56 +08:00 
			
		
		
		
	Don't create entry for non-existant directory
- Filter out config-cache directories that do not exist when constructing cache entry definitions
This commit is contained in:
		@@ -402,8 +402,7 @@ export class ConfigurationCacheEntryExtractor extends AbstractEntryExtractor {
 | 
				
			|||||||
     * Extract cache entries for the configuration cache in each project.
 | 
					     * Extract cache entries for the configuration cache in each project.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    protected getExtractedCacheEntryDefinitions(): ExtractedCacheEntryDefinition[] {
 | 
					    protected getExtractedCacheEntryDefinitions(): ExtractedCacheEntryDefinition[] {
 | 
				
			||||||
        return this.getProjectRoots().map(projectRoot => {
 | 
					        return this.getConfigCacheDirs().map(configCachePath => {
 | 
				
			||||||
            const configCachePath = path.resolve(projectRoot, '.gradle/configuration-cache')
 | 
					 | 
				
			||||||
            return new ExtractedCacheEntryDefinition(
 | 
					            return new ExtractedCacheEntryDefinition(
 | 
				
			||||||
                'configuration-cache',
 | 
					                'configuration-cache',
 | 
				
			||||||
                configCachePath,
 | 
					                configCachePath,
 | 
				
			||||||
@@ -413,12 +412,15 @@ export class ConfigurationCacheEntryExtractor extends AbstractEntryExtractor {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * For every Gradle invocation, we record the project root directory. This method returns the entire
 | 
					     * For every Gradle invocation, we record the project root directory.
 | 
				
			||||||
     * set of project roots, to allow saving of configuration-cache entries for each.
 | 
					     * This method returns any configuraton-cache directories found in any of these project roots.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    private getProjectRoots(): string[] {
 | 
					    private getConfigCacheDirs(): string[] {
 | 
				
			||||||
        const buildResults = loadBuildResults()
 | 
					        const buildResults = loadBuildResults()
 | 
				
			||||||
        const projectRootDirs = buildResults.map(x => x.rootProjectDir)
 | 
					        const configCacheDirs = buildResults
 | 
				
			||||||
        return [...new Set(projectRootDirs)] // Remove duplicates
 | 
					            .map(x => path.resolve(x.rootProjectDir, '.gradle/configuration-cache'))
 | 
				
			||||||
 | 
					            .filter(x => fs.existsSync(x))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return [...new Set(configCacheDirs)] // Remove duplicates
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user