Google Java Format step is not compatible with configuration cache
- Vorherrschende Sprache
- Java
- Sterne
- 5.6k
- Forks
- 559
- Ø Merge
- 1 T. 14 Std.
- Gemergte PRs (30 T.)
- 43
Beschreibung
When running spotless with CC enabled and using predeclare, we still see this error reported:
```
Caused by: org.gradle.api.GradleException: Add a step with [com.google.googlejavaformat:google-java-format:1.26.0] into the `spotlessPredeclare` block in the root project.
at com.diffplug.gradle.spotless.GradleProvisioner$DedupingProvisioner.lambda$new$0(GradleProvisioner.java:99)
at com.diffplug.spotless.JarState.provisionWithTransitives(JarState.java:109)
at com.diffplug.spotless.JarState.from(JarState.java:98)
at com.diffplug.spotless.JarState.from(JarState.java:93)
at com.diffplug.spotless.java.GoogleJavaFormatStep.lambda$createInternally$1(GoogleJavaFormatStep.java:106)
at com.diffplug.spotless.JarState$Promised.get(JarState.java:53)
at com.diffplug.spotless.java.GoogleJavaFormatStep.equalityState(GoogleJavaFormatStep.java:152)
at com.diffplug.spotless.FormatterStepSerializationRoundtrip.stateSupplier(FormatterStepSerializationRoundtrip.java:57)
at com.diffplug.spotless.ThrowingEx.get(ThrowingEx.java:67)
at com.diffplug.spotless.FormatterStepSerializationRoundtrip$HackClone.writeObject(FormatterStepSerializationRoundtrip.java:113)
```
We are configuring GJF's formatter in our predeclare block and you can find our configuration logic here: https://github.com/slackhq/foundry/blob/5d970a56341e0cd703ab20c344f0df3a55a6c826/platforms/gradle/foundry-gradle-plugin/src/main/kotlin/foundry/gradle/FoundryBasePlugin.kt#L185-L200
Beitragsleitfaden
Rechercherichtung
Beginne mit den Stacktrace-Einstiegspunkten in GoogleJavaFormatStep.java, JarState.java, GradleProvisioner.java und FormatterStepSerializationRoundtrip.java. Reproduziere den Fehler mit configuration cache, predeclare und google-java-format 1.26.0 und überprüfe anschließend, dass die gemeldete Exception nicht mehr auftritt, während der vorab deklarierte Formatter weiterhin verwendet werden kann.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, kotlin
- Bereich
- build-system
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 32/100