Google Java Format step is not compatible with configuration cache
- Lingua principale
- Java
- Stelle
- 5.6k
- Fork
- 559
- Merge medio
- 1g 14h
- PR unite (30g)
- 43
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia dai punti di ingresso dello stack trace in GoogleJavaFormatStep.java, JarState.java, GradleProvisioner.java e FormatterStepSerializationRoundtrip.java. Riproduci il malfunzionamento usando configuration cache, predeclare e google-java-format 1.26.0, quindi verifica che l’eccezione segnalata non si verifichi più mentre il formatter pre-dichiarato rimane utilizzabile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java, kotlin
- Ambito
- build-system
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 32/100