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

jdaugherty pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/grails-intellij-plugin.git

commit 25dbfd5810331e20d05d1f5427fa7164311b0f07
Author: James Daugherty <[email protected]>
AuthorDate: Sat Jul 18 15:24:11 2026 -0400

    Add Apache RAT license audit
---
 build.gradle.kts | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/build.gradle.kts b/build.gradle.kts
index d4e44e6..2bbb1fc 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -22,6 +22,7 @@ plugins {
     id("java")
     id("org.jetbrains.kotlin.jvm") version "2.3.0"
     id("org.jetbrains.intellij.platform") version "2.11.0"
+    id("org.nosphere.apache.rat") version "0.8.1"
 }
 
 group = "org.intellij.grails"
@@ -141,3 +142,57 @@ tasks {
     }
 }
 
+// ASF license audit (Apache RAT) — see MIGRATION-PLAN.md Phase 3.
+// Every exclude must carry a justification; no blanket excludes to make the 
audit pass.
+tasks.rat {
+    excludes.addAll(
+        listOf(
+            // planning documents, removed before the first release
+            "MIGRATION-PLAN.md",
+            "IMPROVEMENT-PLAN.md",
+            // documentation
+            "**/README.md",
+            // git configuration isn't code
+            "**/.gitignore",
+            "**/.gitattributes",
+            // gradle wrapper files, excluded from the source distro
+            "gradlew*",
+            "gradle/wrapper/**",
+            "**/.gradle/**",
+            // github/ASF infra configuration, not shipped in the source distro
+            ".github/**",
+            ".asf.yaml",
+            // IDE-generated files
+            ".idea/**",
+            "**/*.iml",
+            "out/**",
+            // IntelliJ Platform Gradle Plugin local cache (generated Ivy 
descriptors, git-ignored)
+            ".intellijPlatform/**",
+            // generated code (JFlex lexers; headers are injected by the 
generator config)
+            "gen/**",
+            // test fixtures: content *is* the test input (mock Grails 
projects/JARs);
+            // adding headers would break parser/position-sensitive tests
+            "testdata/**",
+            "**/testdata/**",
+            // file templates that materialize inside end-user projects
+            "**/resources/fileTemplates/**",
+            // intention/inspection description snippets and before/after 
templates
+            // rendered verbatim in the IDE settings UI
+            "**/intentionDescriptions/**",
+            "**/inspectionDescriptions/**",
+            // html files are IDE description snippets / template previews only
+            "**/*.html",
+            // GUI-designer .form files are machine-edited XML
+            "**/*.form",
+            // images
+            "**/*.png", "**/*.svg", "**/*.ico", "**/*.jpg", "**/*.gif",
+            // JAR manifest format has no comment syntax
+            "grails-rt/resources/META-INF/MANIFEST.MF",
+        ) + subprojects.map {
+            // per-subproject build directories
+            
it.layout.buildDirectory.get().asFile.relativeTo(rootProject.projectDir).path + 
"/**"
+        } + listOf("build/**")
+    )
+    // never cache license audits
+    outputs.upToDateWhen { false }
+}

Reply via email to