This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a commit to branch style-enforcement
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 30a1f02421c4f743a3de7464242c6f82523a3172
Author: James Daugherty <jdaughe...@jdresources.net>
AuthorDate: Sun Jul 13 17:56:22 2025 -0400

    build: add support for checkstyle / spotless to grails-core
---
 buildSrc/build.gradle                              |  2 ++
 .../config/checkstyle/checkstyle.xml               | 10 ++++----
 .../config/spotless/license.java                   |  0
 gradle.properties                                  |  2 ++
 .../style-enforcement-config.gradle                | 28 +++++++++++++---------
 .../{config => etc}/checkstyle/suppressions.xml    |  8 +++----
 grails-forge/gradle.properties                     |  3 ---
 .../gradle/style-enforcement-config.gradle         |  8 +++----
 8 files changed, 34 insertions(+), 27 deletions(-)

diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle
index 993f2b8cfb..f22cb0e801 100644
--- a/buildSrc/build.gradle
+++ b/buildSrc/build.gradle
@@ -52,6 +52,8 @@ dependencies {
     implementation 'io.github.gradle-nexus:publish-plugin'
     implementation 'org.apache.grails:grails-docs-core'
     implementation 'org.apache.grails:grails-gradle-plugins'
+    implementation 
"com.diffplug.spotless:spotless-plugin-gradle:${gradleProperties.spotlessVersion}"
+    implementation 
"io.spring.nohttp:nohttp-gradle:${gradleProperties.nohttpGradleVersion}"
     implementation 'org.asciidoctor:asciidoctor-gradle-jvm'
     implementation 'org.springframework.boot:spring-boot-gradle-plugin'
     implementation 
'org.nosphere.apache.rat:org.nosphere.apache.rat.gradle.plugin:0.8.1'
diff --git a/grails-forge/config/checkstyle/checkstyle.xml 
b/etc/config/checkstyle/checkstyle.xml
similarity index 96%
rename from grails-forge/config/checkstyle/checkstyle.xml
rename to etc/config/checkstyle/checkstyle.xml
index 3e2e1ab9c3..128659ad6c 100644
--- a/grails-forge/config/checkstyle/checkstyle.xml
+++ b/etc/config/checkstyle/checkstyle.xml
@@ -97,10 +97,10 @@
     <module name="SuppressWarningsFilter"/>
 
     <!-- See 
http://checkstyle.sourceforge.net/config_filters.html#SuppressionFilter -->
-    <module name="SuppressionFilter">
-        <property name="file" value="${config_loc}/suppressions.xml"/>
-        <property name="optional" value="false"/>
-    </module>
+<!--    <module name="SuppressionFilter">-->
+<!--        <property name="file" value="${config_loc}/suppressions.xml"/>-->
+<!--        <property name="optional" value="false"/>-->
+<!--    </module>-->
 
     <module name="TreeWalker">
 
@@ -114,6 +114,8 @@
             <property name="allowMissingReturnTag" value="true"/>
         </module>
         <module name="JavadocType">
+            <!-- https://github.com/checkstyle/checkstyle/issues/14581 -->
+            <property name="allowMissingParamTags" value="true"/>
         </module>
 
         <module name="JavadocStyle">
diff --git a/grails-forge/config/spotless.license.java 
b/etc/config/spotless/license.java
similarity index 100%
rename from grails-forge/config/spotless.license.java
rename to etc/config/spotless/license.java
diff --git a/gradle.properties b/gradle.properties
index 84a4d121d3..f5e33cd3d1 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -40,6 +40,8 @@ yakworksHibernateGroovyProxyVersion=1.1
 picocliVersion=4.7.6
 liquibaseHibernate5Version=4.27.0
 hibernate5Version=5.6.15.Final
+spotlessVersion=6.25.0
+nohttpGradleVersion=0.0.11
 
 githubSlug=apache/grails-core
 githubBranch=7.0.x
diff --git a/grails-forge/gradle/style-enforcement-config.gradle 
b/gradle/style-enforcement-config.gradle
similarity index 61%
copy from grails-forge/gradle/style-enforcement-config.gradle
copy to gradle/style-enforcement-config.gradle
index 374fec9ed8..e0a5d895a9 100644
--- a/grails-forge/gradle/style-enforcement-config.gradle
+++ b/gradle/style-enforcement-config.gradle
@@ -23,21 +23,21 @@ apply plugin: 'io.spring.nohttp' // enforce https everywhere
 
 spotless {
     java {
-        
licenseHeaderFile(rootProject.file("${rootDir}/config/spotless.license.java"))
+        licenseHeaderFile(rootProject.file("etc/config/spotless/license.java"))
         target('src/main/java/**/*.java')
     }
     groovy {
-        
licenseHeaderFile(rootProject.file("${rootDir}/config/spotless.license.java"))
-        target('src/main/groovy/**')
+        licenseHeaderFile(rootProject.file("etc/config/spotless/license.java"))
+        target('src/main/groovy/**.groovy', 'src/main/groovy/**.java')
     }
     format 'javaMisc', {
         target('src/main/**/package-info.java', 'src/main/**/module-info.java')
-        licenseHeaderFile(rootProject.file('config/spotless.license.java'), 
'\\/\\*\\*')
+        
licenseHeaderFile(rootProject.file('etc/config/spotless/license.java'), 
'\\/\\*\\*')
     }
 }
 
 checkstyle {
-    configFile = project.rootProject.file('config/checkstyle/checkstyle.xml')
+    configFile = 
project.rootProject.file('etc/config/checkstyle/checkstyle.xml')
 
     // Per submodule
     maxErrors = 1
@@ -47,13 +47,19 @@ checkstyle {
 }
 
 nohttp {
-    source.exclude('src/test/**', 'build/**', 'src/main/resources/assets/**', 
'src/resources/main/pom.xml')
+    source.exclude('src/test/**', 'build/**')
 }
 
-tasks.named('checkstyleTest').configure {
-    it.enabled = false
+if (tasks.names.contains('checkstyleTest')) {
+    tasks.named('checkstyleTest').configure {
+        it.group = 'verification'
+        it.enabled = false
+    }
 }
 
-tasks.named('checkstyleMain').configure {
-    it.dependsOn('spotlessCheck')
-}
\ No newline at end of file
+if (tasks.names.contains('checkstyleMain')) {
+    tasks.named('checkstyleMain').configure {
+        it.group = 'verification'
+        it.dependsOn('spotlessCheck')
+    }
+}
diff --git a/grails-forge/config/checkstyle/suppressions.xml 
b/grails-forge/etc/checkstyle/suppressions.xml
similarity index 79%
rename from grails-forge/config/checkstyle/suppressions.xml
rename to grails-forge/etc/checkstyle/suppressions.xml
index c36038ae6b..8180818a31 100644
--- a/grails-forge/config/checkstyle/suppressions.xml
+++ b/grails-forge/etc/checkstyle/suppressions.xml
@@ -22,10 +22,8 @@
 <!DOCTYPE suppressions PUBLIC
         "-//Puppy Crawl//DTD Suppressions 1.1//EN"
         "http://checkstyle.sourceforge.net/dtds/suppressions_1_1.dtd";>
-
 <suppressions>
-    <suppress checks="FileLength"
-              
files="DefaultBeanContext.java|BeanDefinitionWriter.java|DefaultHttpClient.java"/>
-    <suppress files="[\\/]generated-src[\\/]|RockerSubs.java" 
checks="[a-zA-Z0-9]*"/>
-    <suppress checks="Nohttp" files="pom.xml" />
+<!--    <suppress checks="FileLength"-->
+<!--              
files="DefaultBeanContext.java|BeanDefinitionWriter.java|DefaultHttpClient.java"/>-->
+<!--    <suppress files="[\\/]generated-src[\\/]|RockerSubs.java" 
checks="[a-zA-Z0-9]*"/>-->
 </suppressions>
diff --git a/grails-forge/gradle.properties b/grails-forge/gradle.properties
index 80c5036d4a..6d39f14f15 100644
--- a/grails-forge/gradle.properties
+++ b/grails-forge/gradle.properties
@@ -43,8 +43,6 @@ micronautBuildVersion=1.1.5
 micronautDocsVersion=2.0.0
 micronautGradlePlugins=5.4.10
 micronautVersion=3.10.4
-nexusPublishVersion=1.3.0
-nohttpGradleVersion=0.0.11
 objenesisVersion=3.4
 picocliVersion=4.7.5
 postgresqlVersion=42.7.5
@@ -55,7 +53,6 @@ shadowVersion=8.3.6
 slf4jVersion=2.0.17
 snakeyamlVersion=2.4
 spockVersion=2.1-groovy-3.0
-spotlessVersion=6.25.0
 testRetryVersion=1.6.2
 typesafeConfigVersion=1.4.3
 
diff --git a/grails-forge/gradle/style-enforcement-config.gradle 
b/grails-forge/gradle/style-enforcement-config.gradle
index 374fec9ed8..2ce5b39f0f 100644
--- a/grails-forge/gradle/style-enforcement-config.gradle
+++ b/grails-forge/gradle/style-enforcement-config.gradle
@@ -23,21 +23,21 @@ apply plugin: 'io.spring.nohttp' // enforce https everywhere
 
 spotless {
     java {
-        
licenseHeaderFile(rootProject.file("${rootDir}/config/spotless.license.java"))
+        
licenseHeaderFile(rootProject.file("../etc/config/spotless/license.java"))
         target('src/main/java/**/*.java')
     }
     groovy {
-        
licenseHeaderFile(rootProject.file("${rootDir}/config/spotless.license.java"))
+        
licenseHeaderFile(rootProject.file("../etc/config/spotless/license.java"))
         target('src/main/groovy/**')
     }
     format 'javaMisc', {
         target('src/main/**/package-info.java', 'src/main/**/module-info.java')
-        licenseHeaderFile(rootProject.file('config/spotless.license.java'), 
'\\/\\*\\*')
+        
licenseHeaderFile(rootProject.file('../etc/config/spotless/license.java'), 
'\\/\\*\\*')
     }
 }
 
 checkstyle {
-    configFile = project.rootProject.file('config/checkstyle/checkstyle.xml')
+    configFile = 
project.rootProject.file('etc/config/checkstyle/checkstyle.xml')
 
     // Per submodule
     maxErrors = 1

Reply via email to