From 7845b6a36965584b0ec5a3c58bb7d8137171823f Mon Sep 17 00:00:00 2001 From: Steve Riesenberg Date: Thu, 31 Mar 2022 17:11:07 -0500 Subject: [PATCH] Temporarily exclude project from checkFormat task --- .../SpringJavaCheckstylePlugin.java | 19 +++++++++++++++++++ gradle.properties | 1 + 2 files changed, 20 insertions(+) diff --git a/buildSrc/src/main/java/org/springframework/gradle/checkstyle/SpringJavaCheckstylePlugin.java b/buildSrc/src/main/java/org/springframework/gradle/checkstyle/SpringJavaCheckstylePlugin.java index 06ef2024..6a9bd19d 100644 --- a/buildSrc/src/main/java/org/springframework/gradle/checkstyle/SpringJavaCheckstylePlugin.java +++ b/buildSrc/src/main/java/org/springframework/gradle/checkstyle/SpringJavaCheckstylePlugin.java @@ -19,6 +19,9 @@ package org.springframework.gradle.checkstyle; import java.io.File; import java.util.Objects; +import javax.annotation.Nullable; + +import io.spring.javaformat.gradle.tasks.CheckFormat; import org.gradle.api.Plugin; import org.gradle.api.Project; import org.gradle.api.plugins.JavaPlugin; @@ -39,6 +42,7 @@ public class SpringJavaCheckstylePlugin implements Plugin { private static final String DEFAULT_NOHTTP_CHECKSTYLE_VERSION = "0.0.10"; private static final String CHECKSTYLE_TOOL_VERSION_PROPERTY = "checkstyleToolVersion"; private static final String DEFAULT_CHECKSTYLE_TOOL_VERSION = "8.34"; + private static final String SPRING_JAVAFORMAT_EXCLUDE_PACKAGES_PROPERTY = "springJavaformatExcludePackages"; @Override public void apply(Project project) { @@ -57,6 +61,15 @@ public class SpringJavaCheckstylePlugin implements Plugin { // NOTE: See gradle.properties#checkstyleToolVersion for actual version number checkstyle.setToolVersion(getCheckstyleToolVersion(project)); } + + // Configure checkFormat task + project.getTasks().withType(CheckFormat.class, (checkFormat) -> { + // NOTE: See gradle.properties#springJavaformatExcludePackages for excluded packages + String[] springJavaformatExcludePackages = getSpringJavaformatExcludePackages(project); + if (springJavaformatExcludePackages != null) { + checkFormat.exclude(springJavaformatExcludePackages); + } + }); }); } @@ -83,4 +96,10 @@ public class SpringJavaCheckstylePlugin implements Plugin { } return checkstyleToolVersion; } + + @Nullable + private String[] getSpringJavaformatExcludePackages(Project project) { + String springJavaformatExcludePackages = (String) project.findProperty(SPRING_JAVAFORMAT_EXCLUDE_PACKAGES_PROPERTY); + return (springJavaformatExcludePackages != null) ? springJavaformatExcludePackages.split(" ") : null; + } } diff --git a/gradle.properties b/gradle.properties index 5f61c21f..f6481c63 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,6 +5,7 @@ org.gradle.caching=true springFrameworkVersion=5.3.19 springSecurityVersion=5.5.6 springJavaformatVersion=0.0.31 +springJavaformatExcludePackages=org/springframework/security/config org/springframework/security/oauth2 checkstyleToolVersion=8.34 nohttpCheckstyleVersion=0.0.10 jacocoToolVersion=0.8.7