diffplug / diffplug/spotless

Google Java Format step is not compatible with configuration cache

Offen
#2,459 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.