-
-
Notifications
You must be signed in to change notification settings - Fork 973
[Canary] Grails 8 on Groovy 6.0.0-SNAPSHOT #15558
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
jamesfredley
wants to merge
45
commits into
grails8-groovy5-sb4
Choose a base branch
from
grails8-groovy6-canary
base: grails8-groovy5-sb4
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 19 commits
Commits
Show all changes
45 commits
Select commit
Hold shift + click to select a range
013cb13
canary: test Groovy 6.0.0-SNAPSHOT
jamesfredley 4463494
fix: Groovy 6 VerifyError in DefaultConstraintFactory default parameter
jamesfredley ba0df88
Merge branch 'grails8-groovy5-sb4' into grails8-groovy6-canary
jamesfredley c19037d
fix: Groovy 6 compile fixes - Spock version check and CycloneDX license
jamesfredley ddd7325
Merge remote-tracking branch 'origin/grails8-groovy5-sb4' into grails…
jamesfredley 0dcb652
fix: Groovy 6 genericGetMethod regression breaks property access on G…
jamesfredley a6d06f5
fix: GormEntity.get(String) throws MissingPropertyException when GORM…
jamesfredley 99bf0be
fix: centralize Spock version check and add jline 4.0.7 CycloneDX ove…
jamesfredley 8e4fba5
Merge remote-tracking branch 'origin/grails8-groovy5-sb4' into grails…
jamesfredley cfd7605
fix: Groovy 6 remaining test fixes
jamesfredley b2bd213
fix: resolve all remaining test failures on Groovy 6
jamesfredley 24eb53d
Merge remote-tracking branch 'origin/grails8-groovy5-sb4' into grails…
jamesfredley 027c203
fix: CodeNarc UnnecessaryDotClass in DefaultConstraintFactory
jamesfredley b225663
Merge remote-tracking branch 'origin/grails8-groovy5-sb4' into grails…
jamesfredley b9ac44c
Merge remote-tracking branch 'origin/grails8-groovy5-sb4' into grails…
jamesfredley 52aad53
fix: GormEntity.get(String) delegates to staticPropertyMissing for GO…
jamesfredley ea41a40
Merge branch 'grails8-groovy5-sb4' into grails8-groovy6-canary
jamesfredley 678bdf1
fix: harden Groovy 6 canary against snapshot drift and add regression…
jamesfredley c2aa269
fix: Groovy 6 closure dispatch regression in ControllerActionTransformer
jamesfredley 8e9cdbc
fix: move Groovy 6 generic-getter guard from GormEntity trait to AST
jamesfredley ddc7ea2
fix: serialise GSP compilation under Groovy 6 to dodge ListHashMap race
jamesfredley 95e9212
style: drop a leftover consecutive blank line in GormEntity
jamesfredley 54b718b
fix(sbom): revert LICENSE_GROUP_MAPPING per @jdaugherty review
jamesfredley 2619635
Merge remote-tracking branch 'origin/grails8-groovy5-sb4' into grails…
jamesfredley 48598b4
test(forge): capture both stdout and stderr from generated-app gradle…
jamesfredley 5d71eb4
fix(forge): bypass Spock Groovy-version check in generated app build.…
jamesfredley 18b9e52
fix: serialise GSON/views template compilation under Groovy 6
jamesfredley 3e9f517
Merge remote-tracking branch 'origin/grails8-groovy5-sb4' into grails…
jamesfredley de1cf4a
Merge remote-tracking branch 'origin/grails8-groovy5-sb4' into grails…
jamesfredley 8af3b23
docs: drop incorrect GROOVY-11829 citation from GormEntity workaround…
jamesfredley 3f485f3
Merge grails8-groovy5-sb4 audit work into grails8-groovy6-canary
jamesfredley ee77652
Add standalone reproducer link to GormEntity get(String) AST shim
jamesfredley fb717d3
Validateable: link standalone reproducer for the TraitReceiverTransfo…
jamesfredley e7f2478
Merge grails8-groovy5-sb4: link reproducer + Validateable javadoc + r…
jamesfredley e6332ed
ContainerSupport: link upstream PR #2495 (GROOVY-11968) and standalon…
jamesfredley 367dad7
Merge remote-tracking branch 'origin/grails8-groovy5-sb4' into grails…
2a5e983
drop Groovy 6 workarounds whose upstream fixes have merged
4a51898
fix: workaround Groovy 6 stub generator regression in HibernateSettings
449c766
Merge branch 'grails8-groovy5-sb4' into grails8-groovy6-canary
jamesfredley a69a157
Merge remote-tracking branch 'origin/grails8-groovy5-sb4' into grails…
jamesfredley bd7a30a
Drop two more Groovy 6 workarounds - upstream fixes merged 2026-05-02
jamesfredley f8bb282
Merge remote-tracking branch 'origin/grails8-groovy5-sb4' into grails…
jamesfredley 3cbd88b
Drop GORM generic-getter workaround - GROOVY-11986 fixed upstream
jamesfredley d3384e9
Merge branch 'grails8-groovy5-sb4' into grails8-groovy6-canary
jamesfredley 0ea4f26
Merge branch 'grails8-groovy5-sb4' into grails8-groovy6-canary
jamesfredley File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -91,24 +91,32 @@ class SbomPlugin implements Plugin<Project> { | |
| 'pkg:maven/com.oracle.coherence.ce/[email protected]?type=pom': 'UPL-1.0', // does not have map based on license id | ||
| 'pkg:maven/com.oracle.coherence.ce/[email protected]?type=pom': 'UPL-1.0', // does not have map based on license id | ||
| 'pkg:maven/com.oracle.coherence.ce/[email protected]?type=pom': 'UPL-1.0', // does not have map based on license id | ||
| 'pkg:maven/jline/[email protected]?type=jar' : 'BSD-2-Clause', // maps incorrectly because of https://github.com/CycloneDX/cyclonedx-core-java/issues/205 | ||
| 'pkg:maven/jline/[email protected]?type=jar' : 'BSD-2-Clause', // legacy jline:jline group, BSD-2; maps incorrectly because of https://github.com/CycloneDX/cyclonedx-core-java/issues/205 | ||
| 'pkg:maven/opensymphony/[email protected]?type=jar' : 'OpenSymphony', // custom license approved by legal LEGAL-707 | ||
| 'pkg:maven/org.antlr/[email protected]?type=jar' : 'BSD-3-Clause', // maps incorrectly because of https://github.com/CycloneDX/cyclonedx-core-java/issues/205 | ||
| 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly | ||
| 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // direct dependency declared at jline.version in dependencies.gradle | ||
| 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly | ||
| 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly | ||
| 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly | ||
| 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly | ||
| 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly | ||
| 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly | ||
| 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly | ||
| 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly | ||
| 'pkg:maven/org.jline/[email protected]?type=jar' : 'BSD-3-Clause', // jline group resolved at 3.30.9 transitively via groovy-groovysh; main org.jline:jline pinned at 3.30.6 directly | ||
| 'pkg:maven/org.jruby/[email protected]?type=jar' : 'BSD-3-Clause', // https://web.archive.org/web/20240822213507/http://www.jcraft.com/jzlib/LICENSE.txt shows it's a 3 clause | ||
| 'pkg:maven/org.liquibase.ext/[email protected]?type=jar': 'Apache-2.0', // maps incorrectly because of https://github.com/liquibase/liquibase/issues/2445 & the base pom does not define a license | ||
| ] | ||
|
|
||
| /** | ||
| * Group-level license overrides applied AFTER {@link #LICENSE_MAPPING} fails to match. | ||
| * The key is a purl prefix (e.g. {@code 'pkg:maven/org.jline/'}) and the value is the | ||
| * SPDX license id to force for any artifact whose bomRef starts with that prefix. | ||
| * | ||
| * This exists for groups that: | ||
| * (a) have a stable license across all artifacts and versions, AND | ||
| * (b) suffer from cyclonedx-core-java#205 (license is misreported), AND | ||
| * (c) are pulled transitively by SNAPSHOT dependencies (e.g. groovy-groovysh -> | ||
| * org.jline:* drifts on every Groovy SNAPSHOT bump), making per-version entries | ||
| * unmaintainable. | ||
| * | ||
| * Only add a group entry when ALL three conditions hold. Per-version entries in | ||
| * {@link #LICENSE_MAPPING} should still be preferred for one-off overrides. | ||
| */ | ||
| private static Map<String, String> LICENSE_GROUP_MAPPING = [ | ||
| 'pkg:maven/org.jline/': 'BSD-3-Clause', // entire org.jline group is BSD-3-Clause; cyclonedx misreports it (cyclonedx-core-java#205) and versions drift via groovy-groovysh on every SNAPSHOT bump | ||
| ] | ||
|
|
||
| // we don't distribute these so these licenses are considered acceptable, but we still prefer ASF licenses. | ||
| // Require a whitelist of any case of category X licenses to prevent accidental inclusion in a distributed artifact | ||
| // this list will need to be updated anytime we change versions so we can revise the licenses | ||
|
|
@@ -328,6 +336,21 @@ class SbomPlugin implements Plugin<Project> { | |
| return licenseBlock | ||
| } | ||
|
|
||
| // Fallback: group-level override matched by purl prefix. See LICENSE_GROUP_MAPPING | ||
| // for criteria (stable license + cyclonedx misreport + SNAPSHOT version drift). | ||
| def groupOverride = LICENSE_GROUP_MAPPING.find { prefix, _ -> bomRef.startsWith(prefix) } | ||
| if (groupOverride) { | ||
| def licenseId = groupOverride.value | ||
| logger.lifecycle('Forcing license for {} to {} via group rule {}', bomRef, licenseId, groupOverride.key) | ||
|
|
||
| def licenseBlock = LICENSES[licenseId] | ||
| if (!licenseBlock) { | ||
| throw new GradleException("Cannot find license information for id ${licenseId} to use for bomRef ${bomRef} in project ${projectName}") | ||
| } | ||
|
|
||
| return licenseBlock | ||
| } | ||
|
|
||
| if (!(licenseChoices instanceof List) || licenseChoices.isEmpty()) { | ||
| throw new GradleException("No License was found for dependency: ${bomRef} in project ${projectName}") | ||
| } | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.