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

Reply via email to