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]