You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2026/08/07 01:47:22 UTC

(groovy) branch master updated: build: enable binary compatibility reports for stabilised modules, exclude generated lambda classes, skip new-in-6 modules

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

paulk-asert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/master by this push:
     new 2561cecdf1 build: enable binary compatibility reports for stabilised modules, exclude generated lambda classes, skip new-in-6 modules
2561cecdf1 is described below

commit 2561cecdf1287846c6a96aebe2b293527321d4d6
Author: Paul King <pa...@asert.com.au>
AuthorDate: Fri Aug 7 11:47:12 2026 +1000

    build: enable binary compatibility reports for stabilised modules, exclude generated lambda classes, skip new-in-6 modules
---
 subprojects/binary-compatibility/build.gradle | 2 +-
 subprojects/groovy-contracts/build.gradle     | 1 -
 subprojects/groovy-ginq/build.gradle          | 1 -
 subprojects/groovy-grape-ivy/build.gradle     | 5 +++++
 subprojects/groovy-grape-maven/build.gradle   | 5 +++++
 subprojects/groovy-macro-library/build.gradle | 1 -
 subprojects/groovy-test-junit6/build.gradle   | 5 +++++
 subprojects/groovy-toml/build.gradle          | 1 -
 subprojects/groovy-typecheckers/build.gradle  | 1 -
 9 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/subprojects/binary-compatibility/build.gradle b/subprojects/binary-compatibility/build.gradle
index 3fa816be63..2327131e3f 100644
--- a/subprojects/binary-compatibility/build.gradle
+++ b/subprojects/binary-compatibility/build.gradle
@@ -54,7 +54,7 @@ rootProject.allprojects {
                 onlyModified = true
                 failOnModification = false
                 ignoreMissingClasses = true
-                classExcludes = ["**_closure**", "org.codehaus.groovy.runtime.dgm\$**"]
+                classExcludes = ["**_closure**", "**_lambda**", "org.codehaus.groovy.runtime.dgm\$**"]
                 packageExcludes = ["**internal**", "groovyjarjar**"]
 //                TODO consider using rich report but we need to add a custom rule first
 //                richReport {
diff --git a/subprojects/groovy-contracts/build.gradle b/subprojects/groovy-contracts/build.gradle
index 0c298d293a..f15f32c27e 100644
--- a/subprojects/groovy-contracts/build.gradle
+++ b/subprojects/groovy-contracts/build.gradle
@@ -38,5 +38,4 @@ tasks.named('test') {
 
 groovyLibrary {
     optionalModule()
-    withoutBinaryCompatibilityChecks()
 }
diff --git a/subprojects/groovy-ginq/build.gradle b/subprojects/groovy-ginq/build.gradle
index 6ee05ca695..602ac37a2a 100644
--- a/subprojects/groovy-ginq/build.gradle
+++ b/subprojects/groovy-ginq/build.gradle
@@ -31,7 +31,6 @@ dependencies {
 groovyLibrary {
     optionalModule()
 
-    withoutBinaryCompatibilityChecks()
     moduleDescriptor {
         extensionClasses = 'org.apache.groovy.ginq.GinqGroovyMethods'
     }
diff --git a/subprojects/groovy-grape-ivy/build.gradle b/subprojects/groovy-grape-ivy/build.gradle
index c1d2cff566..e8241aae96 100644
--- a/subprojects/groovy-grape-ivy/build.gradle
+++ b/subprojects/groovy-grape-ivy/build.gradle
@@ -29,6 +29,11 @@ dependencies {
     testImplementation projects.groovyTestJunit6
 }
 
+groovyLibrary {
+    // New module in Groovy 6; no earlier baseline to compare against.
+    withoutBinaryCompatibilityChecks()
+}
+
 // The only Java source is a package-private implementation class;
 // exclude it from javadoc to avoid "no public classes found" error.
 tasks.withType(Javadoc).configureEach {
diff --git a/subprojects/groovy-grape-maven/build.gradle b/subprojects/groovy-grape-maven/build.gradle
index 77ffcc6092..5b3805d86e 100644
--- a/subprojects/groovy-grape-maven/build.gradle
+++ b/subprojects/groovy-grape-maven/build.gradle
@@ -32,6 +32,11 @@ dependencies {
     testImplementation projects.groovyTest
 }
 
+groovyLibrary {
+    // New module in Groovy 6; no earlier baseline to compare against.
+    withoutBinaryCompatibilityChecks()
+}
+
 tasks.withType(Javadoc).configureEach {
     exclude '**/package-info.java'
 }
diff --git a/subprojects/groovy-macro-library/build.gradle b/subprojects/groovy-macro-library/build.gradle
index 397fc80a8c..4b3f8c0b3d 100644
--- a/subprojects/groovy-macro-library/build.gradle
+++ b/subprojects/groovy-macro-library/build.gradle
@@ -29,7 +29,6 @@ dependencies {
 
 groovyLibrary {
     optionalModule()
-    withoutBinaryCompatibilityChecks()
     moduleDescriptor {
         extensionClasses = 'org.apache.groovy.macrolib.MacroLibGroovyMethods'
     }
diff --git a/subprojects/groovy-test-junit6/build.gradle b/subprojects/groovy-test-junit6/build.gradle
index 36b35ede8e..1034b250d1 100644
--- a/subprojects/groovy-test-junit6/build.gradle
+++ b/subprojects/groovy-test-junit6/build.gradle
@@ -38,6 +38,11 @@ dependencies {
     testImplementation "org.junit.jupiter:junit-jupiter-params:${versions.junit6}"
 }
 
+groovyLibrary {
+    // New module in Groovy 6; no earlier baseline to compare against.
+    withoutBinaryCompatibilityChecks()
+}
+
 tasks.named('test') {
     useJUnitPlatform {
         // Fixture classes for negative-path tests are tagged 'manual' and
diff --git a/subprojects/groovy-toml/build.gradle b/subprojects/groovy-toml/build.gradle
index cd196125f4..980280a995 100644
--- a/subprojects/groovy-toml/build.gradle
+++ b/subprojects/groovy-toml/build.gradle
@@ -37,5 +37,4 @@ plugins.withId('eclipse') {
 
 groovyLibrary {
     optionalModule()
-    withoutBinaryCompatibilityChecks()
 }
diff --git a/subprojects/groovy-typecheckers/build.gradle b/subprojects/groovy-typecheckers/build.gradle
index c4c24569ec..ca45f988a3 100644
--- a/subprojects/groovy-typecheckers/build.gradle
+++ b/subprojects/groovy-typecheckers/build.gradle
@@ -30,6 +30,5 @@ dependencies {
 }
 
 groovyLibrary {
-    withoutBinaryCompatibilityChecks()
     optionalModule()
 }