afterEvaluate AbstractMutationGuard$IllegalMutationException
- Lingua principale
- Java
- Stelle
- 5.6k
- Fork
- 559
- Merge medio
- 1g 14h
- PR unite (30g)
- 43
Descrizione
I am getting
```
Caused by: org.gradle.api.reflect.ObjectInstantiationException: Could not create an instance of type com.diffplug.gradle.spotless.SpotlessExtensionImpl.
at at org.gradle.internal.instantiation.generator.DependencyInjectingInstantiator.doCreate(DependencyInjectingInstantiator.java:70)
at org.gradle.internal.instantiation.generator.DependencyInjectingInstantiator.newInstanceWithDisplayName(DependencyInjectingInstantiator.java:51)
at org.gradle.internal.extensibility.DefaultConvention.instantiate(DefaultConvention.java:229)
at org.gradle.internal.extensibility.DefaultConvention.create(DefaultConvention.java:150)
at org.gradle.internal.extensibility.DefaultConvention.create(DefaultConvention.java:145)
at com.diffplug.gradle.spotless.SpotlessPlugin.apply(SpotlessPlugin.java:53)
```
due to:
```
Caused by: org.gradle.api.internal.AbstractMutationGuard$IllegalMutationException: Project#afterEvaluate(Action) on project ':x:x-core' cannot be executed in the current context.
at org.gradle.api.internal.AbstractMutationGuard.createIllegalStateException(AbstractMutationGuard.java:39)
at org.gradle.api.internal.AbstractMutationGuard.assertMutationAllowed(AbstractMutationGuard.java:34)
at org.gradle.api.internal.project.DefaultProject.assertMutatingMethodAllowed(DefaultProject.java:1477)
at org.gradle.api.internal.project.DefaultProject.afterEvaluate(DefaultProject.java:1054)
at com.diffplug.gradle.spotless.SpotlessExtensionImpl.(SpotlessExtensionImpl.java:42)
```
Following some chat in the Gradle Slack chat:
> looks like a bug in the plugin implementation, so I'd raise a bug
`afterEvalute {}` should be avoided wherever possible, and I don't think it's needed here
https://github.com/diffplug/spotless/blob/1108c14f83d8e96bc86f923acebfedb5e4a43917/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessExtensionImpl.java#L42
> you could try setting `enforceCheck = false` and setting up the task dependency in a more idiomatic way
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessExtensionImpl.java intorno alla riga 42 e leggi come viene registrata l’azione afterEvaluate. Riproduci il problema Gradle segnalato, quindi verifica che il plugin possa essere applicato senza l’eccezione AbstractMutationGuard e che il comportamento esistente di enforceCheck continui a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- build-system
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100