jamesfredley commented on code in PR #15365:
URL: https://github.com/apache/grails-core/pull/15365#discussion_r3142241577


##########
dependencies.gradle:
##########
@@ -22,15 +22,16 @@
 // These files are split to facilitate separation of build vs application 
dependencies. These are the application dependencies.
 ext {
     gradleBomDependencyVersions = [
-            'ant.version'                   : '1.10.15',
+            'ant.version'                   : '1.10.17',
             'asciidoctor-gradle-jvm.version': '4.0.5',
             'asciidoctorj.version'          : '3.0.0',
             'asset-pipeline-gradle.version' : '5.1.0-M4',
-            'byte-buddy.version'            : '1.17.8',
-            'commons-text.version'          : '1.14.0',
+            'byte-buddy.version'            : '1.18.8',
+            'commons-text.version'          : '1.15.0',
             'directory-watcher.version'     : '0.19.1',
-            'gradle-spock.version'          : '2.3-groovy-3.0',
-            'grails-publish-plugin.version' : '0.0.4',
+            'gradle-groovy.version'         : '4.0.31',

Review Comment:
   Update: cc2f85fe07 broke `Validate Dependency Versions` in CI; reverting in 
the next commit and keeping `'4.0.31'` hard-coded.
   
   Reason: `GroovySystem.version` returns Gradle's *bundled* Groovy (4.0.29 for 
Gradle 9.4.1), not the version our build actually resolves. The grails-gradle 
plugin code transitively pulls Groovy 4.0.31 through grails-core, so:
   
   - BOM (`gradle-groovy.version` from `GroovySystem.version`) → 4.0.29
   - grails-gradle-plugins / grails-gradle-tasks resolve → 4.0.31
   - `validateDependencyVersions` flags every `org.apache.groovy:*` artifact as 
`resolved 4.0.31, expected 4.0.29` and fails the build.
   
   For the BOM-vs-resolved validator to be happy we need the published version 
to match what we actually use. Two ways to achieve that:
   
   1. Hard-code `gradle-groovy.version = '4.0.31'` (what the original PR did, 
what I'm reverting to).
   2. Force the entire grails-gradle composite to use Gradle's bundled Groovy 
(4.0.29), which would mean overriding grails-core's own Groovy version 
transitively. That cascades far past this PR's scope.
   
   Going with (1) for now. Open to revisiting if you'd prefer (2) or a 
different formulation - the trade-off is between "BOM tracks Gradle's bundled 
Groovy automatically" (your original ask) and "BOM matches what we actually 
publish/resolve" (what the validator enforces). They're in tension as long as 
Gradle's bundled Groovy lags grails-core's choice.
   
   Assisted-by: claude-code:claude-opus-4-7
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to