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


##########
build.gradle:
##########
@@ -74,6 +74,14 @@ subprojects {
             def cacheHours = isCiBuild || isReproducibleBuild ? 0 : 24
             cacheDynamicVersionsFor(cacheHours, 'hours')
             cacheChangingModulesFor(cacheHours, 'hours')
+            

Review Comment:
   Good call. Removed the `resolutionStrategy.force` directives for Groovy 4. 
The `enforcePlatform` via `groovy-bom` in `dependencies.gradle` already handles 
this correctly.



##########
dependencies.gradle:
##########
@@ -48,22 +48,23 @@ ext {
 
     // Note: the name of the dependency must be the prefix of the property 
name so properties in the pom are resolved correctly
     gradleBomDependencies = [
-            'ant'                   : 
"org.apache.ant:ant:${gradleBomDependencyVersions['ant.version']}",
-            'ant-junit'             : 
"org.apache.ant:ant-junit:${gradleBomDependencyVersions['ant.version']}",
-            'asciidoctor-gradle-jvm': 
"org.asciidoctor:asciidoctor-gradle-jvm:${gradleBomDependencyVersions['asciidoctor-gradle-jvm.version']}",
-            'asciidoctorj'          : 
"org.asciidoctor:asciidoctorj:${gradleBomDependencyVersions['asciidoctorj.version']}",
-            'asset-pipeline-gradle' : 
"cloud.wondrify:asset-pipeline-gradle:${gradleBomDependencyVersions['asset-pipeline-gradle.version']}",
-            'byte-buddy'            : 
"net.bytebuddy:byte-buddy:${gradleBomDependencyVersions['byte-buddy.version']}",
-            'commons-text'          : 
"org.apache.commons:commons-text:${gradleBomDependencyVersions['commons-text.version']}",
-            'directory-watcher'     : 
"io.methvin:directory-watcher:${gradleBomDependencyVersions['directory-watcher.version']}",
-            'grails-publish-plugin' : 
"org.apache.grails.gradle:grails-publish:${gradleBomDependencyVersions['grails-publish-plugin.version']}",
-            'jansi'                 : 
"org.fusesource.jansi:jansi:${gradleBomDependencyVersions['jansi.version']}",
-            'javaparser-core'       : 
"com.github.javaparser:javaparser-core:${gradleBomDependencyVersions['javaparser-core.version']}",
-            'jline'                 : 
"jline:jline:${gradleBomDependencyVersions['jline.version']}",
-            'jna'                   : 
"net.java.dev.jna:jna:${gradleBomDependencyVersions['jna.version']}",
-            'objenesis'             : 
"org.objenesis:objenesis:${gradleBomDependencyVersions['objenesis.version']}",
-            'spring-boot-cli'       : 
"org.springframework.boot:spring-boot-cli:${gradleBomDependencyVersions['spring-boot.version']}",
-            'spring-boot-gradle'    : 
"org.springframework.boot:spring-boot-gradle-plugin:${gradleBomDependencyVersions['spring-boot.version']}",
+            'ant'                    : 
"org.apache.ant:ant:${gradleBomDependencyVersions['ant.version']}",
+            'ant-junit'              : 
"org.apache.ant:ant-junit:${gradleBomDependencyVersions['ant.version']}",
+            'asciidoctorj-gradle-jvm': 
"org.asciidoctor:asciidoctor-gradle-jvm:${gradleBomDependencyVersions['asciidoctor-gradle-jvm.version']}",

Review Comment:
   You're right - the key must match the artifact name. Reverted back to 
`'asciidoctor-gradle-jvm'` to match the version property key used in the 
constraints.



##########
dependencies.gradle:
##########
@@ -73,7 +74,7 @@ ext {
             'commons-codec.version'       : '1.18.0',
             'commons-lang3.version'       : '3.20.0',
             'geb-spock.version'           : '8.0.1',
-            'groovy.version'              : '4.0.30',
+            'groovy.version'              : '4.0.31',

Review Comment:
   Updated Jackson to `2.21.2` to match Spring Boot 4.0.5's 
`jackson-2-bom.version`. The Jackson 3.x (`jackson-bom.version: 3.1.0`) is a 
separate dependency tree - Spring Boot 4 still uses Jackson 2.x for its main 
serialization.



##########
grails-bom/build.gradle:
##########
@@ -224,6 +224,15 @@ ext {
             for (Map.Entry<String, String> property : 
pomProperties.entrySet()) {
                 propertiesNode.appendNode(property.key, property.value)
             }
+            
+            // Override Spring Boot's groovy.version property with Grails' 
version
+            // Spring Boot 4.0.5 defaults to Groovy 5.0.4, but Grails 8.0.x 
uses Groovy 4.0.31
+            def groovyVersionNode = propertiesNode.'groovy.version'

Review Comment:
   The Groovy version override in grails-bom ensures that consumers of the BOM 
get the exact Groovy version Grails was built and tested with, rather than 
whatever version might be pulled in transitively. Since the BOM is the public 
contract for dependency versions, being explicit here prevents subtle version 
mismatches in downstream applications.



-- 
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