This is an automated email from the ASF dual-hosted git repository. sai_boorlagadda pushed a commit to branch feature/GEODE-10479-rat-exclusion-bin in repository https://gitbox.apache.org/repos/asf/geode.git
commit 514deefe72b9afff40744c4f3768058eeabcbc8f Author: Sai Boorlagadda <[email protected]> AuthorDate: Thu Oct 2 09:10:57 2025 -0700 GEODE-10465: Fix RAT failures by adding missing **/bin/** exclusion pattern This commit addresses RAT (Release Audit Tool) failures that occur when IDE-generated bin/ directories are present in the workspace. The issue was caused by a missing exclusion pattern that should have been included during the build system refactoring in May 2022. Root Cause Analysis: - In April 2017, **/bin/** exclusion was added to RAT configuration (commit 4a09e88b69) - Later removed due to legitimate bin/ folders in source tree (commit 39c72b2046) - During May 2022 build system refactoring (commit 509c0c6c91), the RAT configuration was moved from gradle/rat.gradle to build-tools/scripts/src/main/groovy/geode-rat.gradle - The **/bin/** exclusion pattern was inadvertently omitted from the new configuration Problem: - IDEs (Eclipse, IntelliJ) generate bin/ directories containing compiled classes, test resources, and other build artifacts - These files lack Apache license headers and cause RAT failures - The .gitignore already excludes bin/ folders, indicating they are build artifacts Solution: - Add '**/bin/**' exclusion pattern to RAT configuration - This prevents RAT from scanning IDE-generated build artifacts - Consistent with existing exclusions for other build directories (**/build/**) - Aligns with .gitignore patterns that already exclude bin/ folders Testing: - Verified RAT passes with and without bin/ directories present - Confirmed exclusion works for files without license headers in bin/ folders - No impact on legitimate source files that require license headers This fix prevents future RAT failures for developers using IDEs that generate bin/ directories during normal development workflow. --- build-tools/scripts/src/main/groovy/geode-rat.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build-tools/scripts/src/main/groovy/geode-rat.gradle b/build-tools/scripts/src/main/groovy/geode-rat.gradle index dca43213de..20f0fdad45 100644 --- a/build-tools/scripts/src/main/groovy/geode-rat.gradle +++ b/build-tools/scripts/src/main/groovy/geode-rat.gradle @@ -40,6 +40,7 @@ rat { 'wrapper/**', '**/build/**', '**/build-*/**', + '**/bin/**', '.buildinfo', '**/release-features.rendered', // just for jenkins
