Skip to content

Spotless Gradle Plugin fails Gradle 8.1 with configuration cache enabled #1644

Closed
@BraisGabin

Description

@BraisGabin

Spotless Gradle Plugin 6.17.0 (it also happens with 6.11.0) makes the configuration cache fail on Gradle 8.1-rc-1. This happens just to have the plugin applied. No need to execute any spotless' task.

On macOS I get 4 errors:

> Starting an external process 'bash --login -c which git' during configuration time is unsupported.
> Starting an external process 'xcode-select -p' during configuration time is unsupported.
> Starting an external process '/usr/bin/git --version' during configuration time is unsupported.
> Starting an external process '/usr/bin/git config --system --show-origin --list -z' during configuration time is unsupported.

On Linux I get 2 errors:

> Starting an external process '/usr/bin/git --version' during configuration time is unsupported.
> Starting an external process '/usr/bin/git config --system --show-origin --list -z' during configuration time is unsupported.

The message error also points to this documentation: https://docs.gradle.org/8.1-rc-1/userguide/configuration_cache.html#config_cache:requirements:external_processes

Here you have the 4 stack traces of those errors (from macOS):

org.gradle.api.InvalidUserCodeException: Starting an external process '/usr/bin/git --version' during configuration time is unsupported.
	at org.gradle.configurationcache.initialization.DefaultConfigurationCacheProblemsListener.onExternalProcessStarted(ConfigurationCacheProblemsListener.kt:87)
	at org.gradle.configurationcache.InstrumentedInputAccessListener.externalProcessStarted(InstrumentedInputAccessListener.kt:110)
	at org.gradle.internal.classpath.Instrumented.externalProcessStarted(Instrumented.java:501)
	at org.gradle.internal.classpath.Instrumented.externalProcessStarted(Instrumented.java:509)
	at org.gradle.internal.classpath.Instrumented.start(Instrumented.java:363)
	at org.eclipse.jgit.util.FS.readPipe(FS.java:1383)
	at org.eclipse.jgit.util.FS.readPipe(FS.java:1345)
	at org.eclipse.jgit.util.FS.discoverGitSystemConfig(FS.java:1534)
	at org.eclipse.jgit.util.FS.getGitSystemConfig(FS.java:1631)
	at org.eclipse.jgit.util.SystemReader$Default.openSystemConfig(SystemReader.java:106)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RuntimeInit.<init>(GitAttributesLineEndings.java:160)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RelocatablePolicy.calculateState(GitAttributesLineEndings.java:93)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RelocatablePolicy.calculateState(GitAttributesLineEndings.java:80)
	at com.diffplug.spotless.LazyForwardingEquality.state(LazyForwardingEquality.java:56)
	at com.diffplug.spotless.LazyForwardingEquality.unlazy(LazyForwardingEquality.java:118)
	at com.diffplug.gradle.spotless.JvmLocalCache$LiveCacheKeyImpl.set(JvmLocalCache.java:60)
	at com.diffplug.gradle.spotless.SpotlessTask.setLineEndingsPolicy(SpotlessTask.java:75)
	at com.diffplug.gradle.spotless.SpotlessTaskImpl_Decorated.setLineEndingsPolicy(Unknown Source)
	at com.diffplug.gradle.spotless.FormatExtension.setupTask(FormatExtension.java:825)
	at com.diffplug.gradle.spotless.KotlinExtension.setupTask(KotlinExtension.java:246)
	at com.diffplug.gradle.spotless.SpotlessExtensionImpl.lambda$createFormatTasks$6(SpotlessExtensionImpl.java:70)
	at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:45)
	at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:45)
        ...
org.gradle.api.InvalidUserCodeException: Starting an external process '/usr/bin/git config --system --show-origin --list -z' during configuration time is unsupported.
	at org.gradle.configurationcache.initialization.DefaultConfigurationCacheProblemsListener.onExternalProcessStarted(ConfigurationCacheProblemsListener.kt:87)
	at org.gradle.configurationcache.InstrumentedInputAccessListener.externalProcessStarted(InstrumentedInputAccessListener.kt:110)
	at org.gradle.internal.classpath.Instrumented.externalProcessStarted(Instrumented.java:501)
	at org.gradle.internal.classpath.Instrumented.externalProcessStarted(Instrumented.java:509)
	at org.gradle.internal.classpath.Instrumented.start(Instrumented.java:363)
	at org.eclipse.jgit.util.FS.readPipe(FS.java:1383)
	at org.eclipse.jgit.util.FS.readPipe(FS.java:1345)
	at org.eclipse.jgit.util.FS.discoverGitSystemConfig(FS.java:1573)
	at org.eclipse.jgit.util.FS.getGitSystemConfig(FS.java:1631)
	at org.eclipse.jgit.util.SystemReader$Default.openSystemConfig(SystemReader.java:106)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RuntimeInit.<init>(GitAttributesLineEndings.java:160)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RelocatablePolicy.calculateState(GitAttributesLineEndings.java:93)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RelocatablePolicy.calculateState(GitAttributesLineEndings.java:80)
	at com.diffplug.spotless.LazyForwardingEquality.state(LazyForwardingEquality.java:56)
	at com.diffplug.spotless.LazyForwardingEquality.unlazy(LazyForwardingEquality.java:118)
	at com.diffplug.gradle.spotless.JvmLocalCache$LiveCacheKeyImpl.set(JvmLocalCache.java:60)
	at com.diffplug.gradle.spotless.SpotlessTask.setLineEndingsPolicy(SpotlessTask.java:75)
	at com.diffplug.gradle.spotless.SpotlessTaskImpl_Decorated.setLineEndingsPolicy(Unknown Source)
	at com.diffplug.gradle.spotless.FormatExtension.setupTask(FormatExtension.java:825)
	at com.diffplug.gradle.spotless.KotlinExtension.setupTask(KotlinExtension.java:246)
	at com.diffplug.gradle.spotless.SpotlessExtensionImpl.lambda$createFormatTasks$6(SpotlessExtensionImpl.java:70)
	at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:45)
	at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:45)
        ...
org.gradle.api.InvalidUserCodeException: Starting an external process 'bash --login -c which git' during configuration time is unsupported.
	at org.gradle.configurationcache.initialization.DefaultConfigurationCacheProblemsListener.onExternalProcessStarted(ConfigurationCacheProblemsListener.kt:87)
	at org.gradle.configurationcache.InstrumentedInputAccessListener.externalProcessStarted(InstrumentedInputAccessListener.kt:110)
	at org.gradle.internal.classpath.Instrumented.externalProcessStarted(Instrumented.java:501)
	at org.gradle.internal.classpath.Instrumented.externalProcessStarted(Instrumented.java:509)
	at org.gradle.internal.classpath.Instrumented.start(Instrumented.java:363)
	at org.eclipse.jgit.util.FS.readPipe(FS.java:1383)
	at org.eclipse.jgit.util.FS.readPipe(FS.java:1345)
	at org.eclipse.jgit.util.FS_POSIX.discoverGitExe(FS_POSIX.java:150)
	at org.eclipse.jgit.util.FS.discoverGitSystemConfig(FS.java:1526)
	at org.eclipse.jgit.util.FS.getGitSystemConfig(FS.java:1631)
	at org.eclipse.jgit.util.SystemReader$Default.openSystemConfig(SystemReader.java:106)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RuntimeInit.<init>(GitAttributesLineEndings.java:160)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RelocatablePolicy.calculateState(GitAttributesLineEndings.java:93)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RelocatablePolicy.calculateState(GitAttributesLineEndings.java:80)
	at com.diffplug.spotless.LazyForwardingEquality.state(LazyForwardingEquality.java:56)
	at com.diffplug.spotless.LazyForwardingEquality.unlazy(LazyForwardingEquality.java:118)
	at com.diffplug.gradle.spotless.JvmLocalCache$LiveCacheKeyImpl.set(JvmLocalCache.java:60)
	at com.diffplug.gradle.spotless.SpotlessTask.setLineEndingsPolicy(SpotlessTask.java:75)
	at com.diffplug.gradle.spotless.SpotlessTaskImpl_Decorated.setLineEndingsPolicy(Unknown Source)
	at com.diffplug.gradle.spotless.FormatExtension.setupTask(FormatExtension.java:825)
	at com.diffplug.gradle.spotless.KotlinExtension.setupTask(KotlinExtension.java:246)
	at com.diffplug.gradle.spotless.SpotlessExtensionImpl.lambda$createFormatTasks$6(SpotlessExtensionImpl.java:70)
	at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:45)
	at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:45)
        ...
org.gradle.api.InvalidUserCodeException: Starting an external process 'xcode-select -p' during configuration time is unsupported.
	at org.gradle.configurationcache.initialization.DefaultConfigurationCacheProblemsListener.onExternalProcessStarted(ConfigurationCacheProblemsListener.kt:87)
	at org.gradle.configurationcache.InstrumentedInputAccessListener.externalProcessStarted(InstrumentedInputAccessListener.kt:110)
	at org.gradle.internal.classpath.Instrumented.externalProcessStarted(Instrumented.java:501)
	at org.gradle.internal.classpath.Instrumented.externalProcessStarted(Instrumented.java:509)
	at org.gradle.internal.classpath.Instrumented.start(Instrumented.java:363)
	at org.eclipse.jgit.util.FS.readPipe(FS.java:1383)
	at org.eclipse.jgit.util.FS.readPipe(FS.java:1345)
	at org.eclipse.jgit.util.FS_POSIX.discoverGitExe(FS_POSIX.java:169)
	at org.eclipse.jgit.util.FS.discoverGitSystemConfig(FS.java:1526)
	at org.eclipse.jgit.util.FS.getGitSystemConfig(FS.java:1631)
	at org.eclipse.jgit.util.SystemReader$Default.openSystemConfig(SystemReader.java:106)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RuntimeInit.<init>(GitAttributesLineEndings.java:160)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RelocatablePolicy.calculateState(GitAttributesLineEndings.java:93)
	at com.diffplug.spotless.extra.GitAttributesLineEndings$RelocatablePolicy.calculateState(GitAttributesLineEndings.java:80)
	at com.diffplug.spotless.LazyForwardingEquality.state(LazyForwardingEquality.java:56)
	at com.diffplug.spotless.LazyForwardingEquality.unlazy(LazyForwardingEquality.java:118)
	at com.diffplug.gradle.spotless.JvmLocalCache$LiveCacheKeyImpl.set(JvmLocalCache.java:60)
	at com.diffplug.gradle.spotless.SpotlessTask.setLineEndingsPolicy(SpotlessTask.java:75)
	at com.diffplug.gradle.spotless.SpotlessTaskImpl_Decorated.setLineEndingsPolicy(Unknown Source)
	at com.diffplug.gradle.spotless.FormatExtension.setupTask(FormatExtension.java:825)
	at com.diffplug.gradle.spotless.KotlinExtension.setupTask(KotlinExtension.java:246)
	at com.diffplug.gradle.spotless.SpotlessExtensionImpl.lambda$createFormatTasks$6(SpotlessExtensionImpl.java:70)
	at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:45)
	at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:45)
        ...

I could create a reproducer if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions