Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Add warning that Gradle configuration cache broken for spotlessCheck in latest v7.0.2

Open
#2,431 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
git, java, kotlin
Domain
build-system

Research direction

Reproduce the branch-switching commands with spotlessCheck and inspect the Gradle configuration-cache report. Start from the root-level build.gradle.kts Spotless configuration, then trace the reported org.eclipse.jgit.util.io.SilentFileInputStream access to .git/HEAD and .git/config. Done means the issue's requested warning or documented limitation is implemented and the configuration-cache behavior is verified.

Written by the indexing model from the issue text.

Description

bug enhancement

the spotlessCheck task seems to (indirectly) use the file .git/HEAD, as switching between branches causes a gradle configuration cache miss.

EG:

> 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

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?

Dominant language
Java
Stars
5.7k
Forks
560
Avg merge
1d 13h
Merged PRs (30d)
43

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from diffplug/spotless

All issues in diffplug/spotless

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.