This is an automated email from the ASF dual-hosted git repository. jamesfredley pushed a commit to branch 8.0.x in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 4dc7e3030d12239b5010e122c614e3e7bbaaf7f4 Merge: 2e2ce06e9f 8c56112191 Author: James Fredley <[email protected]> AuthorDate: Sun Aug 2 12:43:54 2026 -0400 Merge branch '7.2.x' into 8.0.x dependencies.gradle | 12 ++- grails-bom/base/build.gradle | 1 + grails-bom/hibernate5/build.gradle | 1 + grails-bom/micronaut/build.gradle | 1 + grails-forge/gradle.properties | 2 +- grails-forge/settings.gradle | 2 +- grails-gradle/bom/build.gradle | 1 + grails-shell-cli/build.gradle | 5 ++ ...SpringApplicationWebApplicationInitializer.java | 15 +++- ...ApplicationWebApplicationInitializerSpec.groovy | 97 ++++++++++++++++++++++ settings.gradle | 2 +- 11 files changed, 134 insertions(+), 5 deletions(-) diff --cc dependencies.gradle index 79ebd4f1f8,a0f8eae15b..83dfab559a --- a/dependencies.gradle +++ b/dependencies.gradle @@@ -22,50 -22,61 +22,60 @@@ // These files are split to facilitate separation of build vs application dependencies. These are the application dependencies. ext { gradleBomDependencyVersions = [ - 'ant.version' : '1.10.15', - 'asm.version' : '9.10.1', + 'ant.version' : '1.10.17', 'asciidoctor-gradle-jvm.version': '4.0.5', 'asciidoctorj.version' : '3.0.0', - 'asset-pipeline-gradle.version' : '5.0.34', - 'byte-buddy.version' : '1.18.3', + 'asset-pipeline-gradle.version' : '5.2.0-M1', 'commons-text.version' : '1.15.0', 'directory-watcher.version' : '0.19.1', - 'gradle-groovy.version' : '4.0.32', - 'gradle-spock.version' : '2.3-groovy-3.0', - 'grails-publish-plugin.version' : '0.0.5', - 'jansi.version' : '1.18', - 'javaparser-core.version' : '3.28.0', - 'jline.version' : '2.14.6', - 'jna.version' : '5.17.0', - 'jquery.version' : '3.7.1', ++ 'gradle-groovy.version' : '4.0.33', + 'gradle-spock.version' : '2.4-groovy-4.0', + 'grails-publish-plugin.version' : '1.0.0-M2', + 'jansi.version' : '2.4.2', + 'javaparser-core.version' : '3.28.2', + 'jline.version' : '3.30.6', + 'jna.version' : '5.19.1', + 'jquery.version' : '4.0.0', + // Security: overrides spring-boot-dependencies (2.24.3). 2.25.5 fixes CVE-2026-49844 flagged against log4j-api. + // Also declared in bomDependencyVersions so app BOMs and the Gradle plugin BOM stay aligned. + 'log4j2.version' : '2.25.5', + 'maven-model.version' : '3.9.16', 'objenesis.version' : '3.4', - 'spring-boot.version' : '3.5.16', + 'spring-boot.version' : '4.1.0', ] // Note: the name of the dependency must be the prefix of the property name so properties in the pom are resolved correctly gradleBomPlatformDependencies = [ - 'spring-boot-bom' : "org.springframework.boot:spring-boot-dependencies:${gradleBomDependencyVersions['spring-boot.version']}", - 'log4j2-bom' : "org.apache.logging.log4j:log4j-bom:${gradleBomDependencyVersions['log4j2.version']}", - 'gradle-spock-bom': "org.spockframework:spock-bom:${gradleBomDependencyVersions['gradle-spock.version']}", + 'spring-boot-bom' : "org.springframework.boot:spring-boot-dependencies:${gradleBomDependencyVersions['spring-boot.version']}", ++ 'log4j2-bom' : "org.apache.logging.log4j:log4j-bom:${gradleBomDependencyVersions['log4j2.version']}", + 'gradle-groovy-bom': "org.apache.groovy:groovy-bom:${gradleBomDependencyVersions['gradle-groovy.version']}", + 'gradle-spock-bom' : "org.spockframework:spock-bom:${gradleBomDependencyVersions['gradle-spock.version']}", ] // 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']}", - 'asm' : "org.ow2.asm:asm:${gradleBomDependencyVersions['asm.version']}", - 'asm-util' : "org.ow2.asm:asm-util:${gradleBomDependencyVersions['asm.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']}", + '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']}", + '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' : "org.jline:jline:${gradleBomDependencyVersions['jline.version']}", + 'jna' : "net.java.dev.jna:jna:${gradleBomDependencyVersions['jna.version']}", + // Security override of spring-boot-dependencies - see log4j2.version - 'log4j2-api' : "org.apache.logging.log4j:log4j-api:${gradleBomDependencyVersions['log4j2.version']}", - 'log4j2-core' : "org.apache.logging.log4j:log4j-core:${gradleBomDependencyVersions['log4j2.version']}", - 'log4j2-jul' : "org.apache.logging.log4j:log4j-jul:${gradleBomDependencyVersions['log4j2.version']}", - 'log4j2-slf4j2-impl' : "org.apache.logging.log4j:log4j-slf4j2-impl:${gradleBomDependencyVersions['log4j2.version']}", - 'log4j2-to-slf4j' : "org.apache.logging.log4j:log4j-to-slf4j:${gradleBomDependencyVersions['log4j2.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']}", ++ 'log4j2-api' : "org.apache.logging.log4j:log4j-api:${gradleBomDependencyVersions['log4j2.version']}", ++ 'log4j2-core' : "org.apache.logging.log4j:log4j-core:${gradleBomDependencyVersions['log4j2.version']}", ++ 'log4j2-jul' : "org.apache.logging.log4j:log4j-jul:${gradleBomDependencyVersions['log4j2.version']}", ++ 'log4j2-slf4j2-impl' : "org.apache.logging.log4j:log4j-slf4j2-impl:${gradleBomDependencyVersions['log4j2.version']}", ++ 'log4j2-to-slf4j' : "org.apache.logging.log4j:log4j-to-slf4j:${gradleBomDependencyVersions['log4j2.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']}", + 'spring-boot-loader-tools': "org.springframework.boot:spring-boot-loader-tools:${gradleBomDependencyVersions['spring-boot.version']}", ] bomDependencyVersions = [ diff --cc grails-bom/hibernate5/build.gradle index 0d3a7ee971,0540cc4d03..80b579c5fe --- a/grails-bom/hibernate5/build.gradle +++ b/grails-bom/hibernate5/build.gradle @@@ -51,9 -51,9 +51,10 @@@ ext } dependencies { + api platform(gradleBomPlatformDependencies['log4j2-bom']) api platform(project(':grails-bom')) api platform(gradleBomPlatformDependencies['spring-boot-bom']), { + exclude group: 'org.apache.groovy' exclude group: 'org.hibernate.orm' } diff --cc grails-bom/micronaut/build.gradle index 75b21c5bd6,6299af1548..a4e22be22c --- a/grails-bom/micronaut/build.gradle +++ b/grails-bom/micronaut/build.gradle @@@ -66,7 -66,8 +66,8 @@@ def overriddenModules = customBomDepend Set<String> overriddenCoords = overriddenModules.collect { "${it.group}:${it.module}".toString() } as Set dependencies { + api platform(gradleBomPlatformDependencies['log4j2-bom']) - api(platform(project(':grails-bom'))) { + api(platform(project(':grails-base-bom'))) { overriddenModules.each { ovr -> exclude group: ovr.group, module: ovr.module } diff --cc grails-forge/gradle.properties index b82968e526,65c636dd92..14046ee87b --- a/grails-forge/gradle.properties +++ b/grails-forge/gradle.properties @@@ -23,25 -23,27 +23,25 @@@ title=Grails Application Forge projectDesc=Generates Grails applications -# for forge build process which is a micronaut 3.x.x app with picocli -grailsPublishGradleVersion=0.0.2 +# for forge build process which is a micronaut 4.x.x app with picocli +grailsPublishGradleVersion=1.0.0-M1 antVersion=1.10.15 antlr4Version=4.8-1!! -asciidoctorGradleJvmVersion=4.0.4 -cglibVersion=3.3.0 +asciidoctorGradleJvmVersion=4.0.5 commonsCompressVersion=1.28.0 gradleSdkvendorPluginVersion=3.0.0 -groovyVersion=3.0.25 +# minimum 4.0.32 - groovydoc output is non-deterministic before GROOVY-11954, breaking reproducible javadoc jars - groovyVersion=4.0.32 ++groovyVersion=4.0.33 jacksonDatabindVersion=2.18.3 -jakartaInjectVersion=1.0.5 # match the jansi version in grails-bom -jansiVersion=1.18 +jansiVersion=2.4.2 javaDiffUtils=4.15 jgitVersion=6.10.0.202406032230-r -logbackClassicVersion=1.5.17 -micronautApplicationPluginVersion=3.7.10 -micronautBuildVersion=1.1.5 +micronautApplicationPluginVersion=4.6.2 +micronautBuildVersion=2.2.1 micronautDocsVersion=2.0.0 micronautGradlePlugins=5.4.10 -micronautVersion=3.10.4 +micronautVersion=4.10.16 nexusPublishVersion=1.3.0 nohttpGradleVersion=0.0.11 objenesisVersion=3.4 diff --cc grails-forge/settings.gradle index 3c3a65805d,1e8db30b32..2d5fc186be --- a/grails-forge/settings.gradle +++ b/grails-forge/settings.gradle @@@ -32,8 -32,8 +32,8 @@@ pluginManagement } plugins { - id 'com.gradle.develocity' version '4.3.2' + id 'com.gradle.develocity' version '4.5.0' - id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.3' + id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.4.0' id 'org.apache.grails.buildsrc.repo' } diff --cc grails-shell-cli/build.gradle index 9b45417a15,c4fcbc8c54..f88c0f4d75 --- a/grails-shell-cli/build.gradle +++ b/grails-shell-cli/build.gradle @@@ -115,10 -110,16 +115,15 @@@ dependencies // Testing testImplementation 'org.slf4j:slf4j-simple' - testImplementation('org.spockframework:spock-core') { transitive = false } - // Required by Spock's Mocking - testRuntimeOnly 'net.bytebuddy:byte-buddy' - testImplementation 'org.objenesis:objenesis' + testImplementation 'org.spockframework:spock-core' + + testRuntimeOnly 'net.bytebuddy:byte-buddy' // Required by Spock's mocking support + // Required to load SpringApplicationWebApplicationInitializer (extends SpringBootServletInitializer) + // in tests; these are compileOnly for the main source set. + testImplementation 'org.springframework.boot:spring-boot' + testImplementation 'org.springframework:spring-web' + // any project that should be included in the end distribution should be included here // historically these were the included projects so we have trimmed them back down to pre7.0 shellCliDependencies project(':grails-codecs-core') diff --cc settings.gradle index aa32a4f3a2,88d8f622a6..334a71d329 --- a/settings.gradle +++ b/settings.gradle @@@ -33,8 -33,8 +33,8 @@@ pluginManagement } plugins { - id 'com.gradle.develocity' version '4.3.2' + id 'com.gradle.develocity' version '4.5.0' - id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.3' + id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.4.0' id 'org.apache.grails.buildsrc.repo' }
