Skip to content

afterEvaluate AbstractMutationGuard$IllegalMutationException #2268

@gaborbernat

Description

@gaborbernat

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.<init>(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


you could try setting enforceCheck = false and setting up the task dependency in a more idiomatic way

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions