diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessExtension.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessExtension.java index 66e32a88cc..301b6a7acc 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessExtension.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessExtension.java @@ -104,6 +104,23 @@ public void removeFormat(String name) { } } + boolean enforceCheck = true; + + /** Returns `true` if Gradle's `check` task should run `spotlessCheck`; `false` otherwise. */ + public boolean isEnforceCheck() { + return enforceCheck; + } + + /** + * Configures Gradle's `check` task to run `spotlessCheck` if `true`, + * but to not do so if `false`. + * + * `true` by default. + */ + public void setEnforceCheck(boolean enforceCheck) { + this.enforceCheck = enforceCheck; + } + private void configure(String name, Class clazz, Action configure) { T value = maybeCreate(name, clazz); configure.execute(value); diff --git a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java index 54e6008ee0..e69db0bb10 100644 --- a/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java +++ b/plugin-gradle/src/main/java/com/diffplug/gradle/spotless/SpotlessPlugin.java @@ -103,9 +103,11 @@ public Object doCall(TaskExecutionGraph graph) { // Add our check task as a dependency on the global check task // getTasks() returns a "live" collection, so this works even if the // task doesn't exist at the time this call is made - project.getTasks() - .matching(task -> task.getName().equals(JavaBasePlugin.CHECK_TASK_NAME)) - .all(task -> task.dependsOn(rootCheckTask)); + if (spotlessExtension.enforceCheck) { + project.getTasks() + .matching(task -> task.getName().equals(JavaBasePlugin.CHECK_TASK_NAME)) + .all(task -> task.dependsOn(rootCheckTask)); + } // clear spotless' cache when the user does a clean project.getTasks()