Added gradle.properties file to the cache key

Part of project configuration may be in the `gradle.properties` file and changing it should invalidate cache

See: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
This commit is contained in:
Alexandr Evstigneev 2023-03-04 08:35:25 +04:00
parent ea15b3b99c
commit a76faebd93
5 changed files with 16 additions and 5 deletions

View File

@ -113,7 +113,7 @@ Currently, the following distributions are supported:
### Caching packages dependencies ### Caching packages dependencies
The action has a built-in functionality for caching and restoring dependencies. It uses [actions/cache](https://github.com/actions/cache) under hood for caching dependencies but requires less configuration settings. Supported package managers are gradle, maven and sbt. The format of the used cache key is `setup-java-${{ platform }}-${{ packageManager }}-${{ fileHash }}`, where the hash is based on the following files: The action has a built-in functionality for caching and restoring dependencies. It uses [actions/cache](https://github.com/actions/cache) under hood for caching dependencies but requires less configuration settings. Supported package managers are gradle, maven and sbt. The format of the used cache key is `setup-java-${{ platform }}-${{ packageManager }}-${{ fileHash }}`, where the hash is based on the following files:
- gradle: `**/*.gradle*`, `**/gradle-wrapper.properties`, `buildSrc/**/Versions.kt`, `buildSrc/**/Dependencies.kt`, and `gradle/*.versions.toml` - gradle: `**/*.gradle*`, `**/gradle-wrapper.properties`, `buildSrc/**/Versions.kt`, `buildSrc/**/Dependencies.kt`, `gradle.properties` and `gradle/*.versions.toml`
- maven: `**/pom.xml` - maven: `**/pom.xml`
- sbt: all sbt build definition files `**/*.sbt`, `**/project/build.properties`, `**/project/**.{scala,sbt}` - sbt: all sbt build definition files `**/*.sbt`, `**/project/build.properties`, `**/project/**.{scala,sbt}`

View File

@ -98,7 +98,7 @@ describe('dependency cache', () => {
await expect(restore('gradle')).rejects.toThrowError( await expect(restore('gradle')).rejects.toThrowError(
`No file in ${projectRoot( `No file in ${projectRoot(
workspace workspace
)} matched to [**/*.gradle*,**/gradle-wrapper.properties,buildSrc/**/Versions.kt,buildSrc/**/Dependencies.kt,gradle/*.versions.toml], make sure you have checked out the target repository` )} matched to [**/*.gradle*,**/gradle-wrapper.properties,buildSrc/**/Versions.kt,buildSrc/**/Dependencies.kt,gradle/*.versions.toml,gradle.properties], make sure you have checked out the target repository`
); );
}); });
it('downloads cache based on build.gradle', async () => { it('downloads cache based on build.gradle', async () => {
@ -121,6 +121,14 @@ describe('dependency cache', () => {
createDirectory(join(workspace, 'gradle')); createDirectory(join(workspace, 'gradle'));
createFile(join(workspace, 'gradle', 'libs.versions.toml')); createFile(join(workspace, 'gradle', 'libs.versions.toml'));
await restore('gradle');
expect(spyCacheRestore).toBeCalled();
expect(spyWarning).not.toBeCalled();
expect(spyInfo).toBeCalledWith('gradle cache is not found');
});
it('downloads cache based on gradle.properties', async () => {
createFile(join(workspace, 'gradle.properties'));
await restore('gradle'); await restore('gradle');
expect(spyCacheRestore).toBeCalled(); expect(spyCacheRestore).toBeCalled();
expect(spyWarning).not.toBeCalled(); expect(spyWarning).not.toBeCalled();

View File

@ -68249,7 +68249,8 @@ const supportedPackageManager = [
'**/gradle-wrapper.properties', '**/gradle-wrapper.properties',
'buildSrc/**/Versions.kt', 'buildSrc/**/Versions.kt',
'buildSrc/**/Dependencies.kt', 'buildSrc/**/Dependencies.kt',
'gradle/*.versions.toml' 'gradle/*.versions.toml',
'gradle.properties'
] ]
}, },
{ {

3
dist/setup/index.js vendored
View File

@ -103452,7 +103452,8 @@ const supportedPackageManager = [
'**/gradle-wrapper.properties', '**/gradle-wrapper.properties',
'buildSrc/**/Versions.kt', 'buildSrc/**/Versions.kt',
'buildSrc/**/Dependencies.kt', 'buildSrc/**/Dependencies.kt',
'gradle/*.versions.toml' 'gradle/*.versions.toml',
'gradle.properties'
] ]
}, },
{ {

View File

@ -36,7 +36,8 @@ const supportedPackageManager: PackageManager[] = [
'**/gradle-wrapper.properties', '**/gradle-wrapper.properties',
'buildSrc/**/Versions.kt', 'buildSrc/**/Versions.kt',
'buildSrc/**/Dependencies.kt', 'buildSrc/**/Dependencies.kt',
'gradle/*.versions.toml' 'gradle/*.versions.toml',
'gradle.properties'
] ]
}, },
{ {