Add warning that Gradle configuration cache broken for spotlessCheck in latest v7.0.2
- Dominant language
- Java
- Stars
- 5.6k
- Forks
- 559
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 34
Description
the `spotlessCheck` task seems to (indirectly) use the file `.git/HEAD`, as switching between branches causes a gradle configuration cache miss.
EG:
```bash
> git checkout test-branch
> gradle spotlessCheck
… (stores configuration cache)
> git checkout main
> gradle spotlessCheck
Calculating task graph as configuration cache cannot be reused because file '.git/HEAD' has changed.
```
spotless is configured as follows in the root level `build.gradle.kts`
```kotlin
spotless.apply {
kotlin {
target("src/**/*.kt”)
ktlint(libs.versions.ktlint.get())
}
}
```
This seems to be caused by JGit. The configuration cache report has the class `org.eclipse.jgit.util.io.SilentFileInputStream` accessing `.git/HEAD` and `.git/config`. Although this is occurinig within JGit, perhaps theres a call to JGit that can be wrapped in a `ValueSource`? Or perhaps there’s a configuration to change/disable parts of spotless to fix this?
Contributor guide
Assessment
This issue has not been assessed yet.