This is an automated email from the ASF dual-hosted git repository.

matrei pushed a commit to branch groovy-5
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit ace4d30fb004e0426bd9a349073d920f1152d299
Merge: c879a1c168 1c3a49dd34
Author: Mattias Reichel <[email protected]>
AuthorDate: Tue Oct 28 16:24:21 2025 +0100

    Merge branch '7.0.x' into groovy-5
    
    # Conflicts:
    #       build.gradle
    #       dependencies.gradle
    #       grails-forge/build.gradle
    #       grails-gradle/build.gradle

 .asf.yaml                                          |  35 +-
 .github/ISSUE_TEMPLATE/config.yml                  |  10 +-
 .github/release-drafter.yml                        |   4 -
 .github/scripts/releaseDistributions.sh            |  83 +++++
 .github/scripts/releaseJarFiles.sh                 | 141 +++++++
 .github/vote_templates/announce.txt                |   6 +-
 .github/vote_templates/groovy_pmc.txt              |  32 --
 .github/vote_templates/staged.txt                  |  25 +-
 .github/workflows/codeql.yml                       |   6 +-
 .github/workflows/gradle.yml                       |  19 +-
 .github/workflows/groovy-joint-workflow.yml        |   3 +-
 .github/workflows/release-abort.yml                |   2 +-
 .github/workflows/release.yml                      | 205 +++++++----
 CODE_OF_CONDUCT.md                                 |   2 +-
 CONTRIBUTING.md                                    |  16 +-
 DEVELOPMENT.md                                     |   1 +
 DISCLAIMER                                         |   1 -
 DOAP.rdf                                           |   2 +-
 INSTALL                                            |   2 +-
 README.md                                          |  12 +-
 RELEASE.md                                         | 310 +++++++++++++---
 RENAME.md                                          |   2 +-
 SECURITY.md                                        |   2 +-
 UPGRADE7.md                                        |  52 ---
 {grails-logging => build-logic}/README.md          |   5 +-
 {grails-gradle => build-logic}/docs-core/README.md |   0
 build-logic/docs-core/build.gradle                 | 122 ++++++
 .../src/main/groovy/grails/doc/DocEngine.groovy    |   0
 .../src/main/groovy/grails/doc/DocPublisher.groovy |   2 +-
 .../groovy/grails/doc/ant/DocPublisherTask.groovy  |   0
 .../grails/doc/asciidoc/AsciiDocEngine.groovy      |   0
 .../doc/dropdown/CreateReleaseDropDownTask.groovy  |   2 +-
 .../groovy/grails/doc/dropdown/Snapshot.groovy     |   0
 .../grails/doc/dropdown/SoftwareVersion.groovy     |   0
 .../groovy/grails/doc/filters/HeaderFilter.groovy  |   0
 .../grails/doc/filters/LinkTestFilter.groovy       |   0
 .../groovy/grails/doc/filters/ListFilter.groovy    |   0
 .../groovy/grails/doc/git/FetchTagsTask.groovy     |   0
 .../grails/doc/gradle/PublishGuideTask.groovy      |   0
 .../grails/doc/internal/FileResourceChecker.groovy |   0
 .../grails/doc/internal/StringEscapeCategory.java  |   0
 .../grails/doc/internal/UserGuideNode.groovy       |   0
 .../grails/doc/internal/YamlTocStrategy.groovy     |   0
 .../grails/doc/macros/GspTagSourceMacro.groovy     |   0
 .../groovy/grails/doc/macros/HiddenMacro.groovy    |   0
 .../gradle/tasks/bom/CoordinateHolder.groovy       |   0
 .../tasks/bom/CoordinateVersionHolder.groovy       |   0
 .../tasks/bom/ExtractDependenciesTask.groovy       |   0
 .../tasks/bom/ExtractedDependencyConstraint.groovy |   0
 .../gradle/tasks/bom/PropertyNameCalculator.groovy |   0
 .../src/main/resources/grails/doc/doc.properties   |   4 +-
 .../main/resources/radeox_messages_en.properties   |   0
 .../docs-core/src/main/template/css/custom-pdf.css |   0
 .../docs-core/src/main/template/css/custom.css     |   0
 .../docs-core/src/main/template/css/main.css       |   0
 .../docs-core/src/main/template/css/menu.css       |   0
 .../docs-core/src/main/template/css/pdf.css        |   0
 .../docs-core/src/main/template/css/ref.css        |   0
 .../docs-core/src/main/template/css/skin.css       |   0
 .../docs-core/src/main/template/css/tools.css      |   0
 .../src/main/template/fonts/FontAwesome.otf        | Bin
 .../main/template/fonts/fontawesome-webfont.eot    | Bin
 .../main/template/fonts/fontawesome-webfont.svg    |   0
 .../main/template/fonts/fontawesome-webfont.ttf    | Bin
 .../main/template/fonts/fontawesome-webfont.woff   | Bin
 .../src/main/template/img/default/bullet.gif       | Bin
 .../template/img/default/linear-gradient-green.png | Bin
 .../main/template/img/default/linear-gradient.png  | Bin
 .../template/img/default/separator-horizontal.gif  | Bin
 .../main/template/img/default/separator-menu.png   | Bin
 .../template/img/default/separator-vertical.gif    | Bin
 .../docs-core/src/main/template/img/favicon.ico    | Bin
 .../template/img/grails-cupsonly-logo-white.svg    |   0
 .../src/main/template/img/grails-icon.png          | Bin
 .../docs-core/src/main/template/img/grails.png     | Bin
 .../docs-core/src/main/template/img/grails.svg     |   0
 .../docs-core/src/main/template/img/groovy.png     | Bin
 .../docs-core/src/main/template/img/note.gif       | Bin
 .../docs-core/src/main/template/img/warning.gif    | Bin
 .../docs-core/src/main/template/js/docs.js         |   0
 .../docs-core/src/main/template/log4j.properties   |   0
 .../src/main/template/style/guideItem.html         |  21 ++
 .../docs-core/src/main/template/style/index.html   |   0
 .../docs-core/src/main/template/style/layout.html  |  21 ++
 .../docs-core/src/main/template/style/menu.html    |  51 +++
 .../src/main/template/style/referenceItem.html     |  21 ++
 .../docs-core/src/main/template/style/section.html |   0
 .../grails/doc/dropdown/SoftwareVersionSpec.groovy |   0
 .../doc/internal/StringEscapeCategoryTests.groovy  |   0
 .../grails/doc/internal/YamlTocStrategySpec.groovy |   0
 .../grails/doc/macros/GspTagSourceMacroTest.groovy |   0
 {grails-gradle => build-logic}/gradle.properties   |   5 -
 build-logic/gradle/wrapper/gradle-wrapper.jar      | Bin 0 -> 43764 bytes
 .../gradle/wrapper/gradle-wrapper.properties       |   7 +
 build-logic/gradlew                                | 251 +++++++++++++
 build-logic/gradlew.bat                            |  94 +++++
 build-logic/plugins/build.gradle                   |  54 +++
 .../org/apache/grails/buildsrc/GradleUtils.groovy  |  34 +-
 .../apache/grails/buildsrc/PublishPlugin.groovy    | 254 +++++++++++++
 .../org/apache/grails/buildsrc/SbomPlugin.groovy   | 352 ++++++++++++++++++
 {grails-gradle => build-logic}/settings.gradle     |  50 ++-
 build.gradle                                       |  33 --
 buildSrc/build.gradle                              |   5 +-
 dependencies.gradle                                |  16 +-
 etc/bin/download-release-artifacts.sh              |  84 ++---
 etc/bin/rename_gradle_artifacts.sh                 |   2 -
 etc/bin/reset-verify.sh                            |   4 +-
 etc/bin/verify-cli-distribution.sh                 |  14 +-
 etc/bin/verify-jar-artifacts.sh                    |   2 +-
 etc/bin/{reset-verify.sh => verify-keys.sh}        |  42 +--
 etc/bin/verify-reproducible.sh                     |   2 +
 etc/bin/verify-source-distribution.sh              |  12 +-
 etc/bin/verify-wrapper-distribution.sh             |  14 +-
 etc/bin/verify.sh                                  |  12 +-
 gradle.properties                                  |   5 +-
 gradle/functional-test-config.gradle               |   5 +
 gradle/java-config.gradle                          |   5 +
 gradle/publish-config.gradle                       | 140 -------
 gradle/rat-root-config.gradle                      |   6 +-
 gradle/test-webjar-asset-config.gradle             |   3 +
 grails-async/core/build.gradle                     |   3 +-
 grails-async/gpars/build.gradle                    |   3 +-
 grails-async/plugin/build.gradle                   |   3 +-
 grails-async/rxjava/build.gradle                   |   3 +-
 grails-async/rxjava2/build.gradle                  |   3 +-
 grails-async/rxjava3/build.gradle                  |   3 +-
 grails-bom/build.gradle                            |   7 +-
 grails-bootstrap/build.gradle                      |   3 +-
 grails-cache/build.gradle                          |   3 +-
 grails-codecs-core/build.gradle                    |   3 +-
 grails-codecs/build.gradle                         |   3 +-
 grails-common/build.gradle                         |  31 +-
 .../grails/util/GrailsMessageSourceUtils.groovy    |   0
 grails-console/build.gradle                        |   3 +-
 grails-controllers/build.gradle                    |   3 +-
 .../compiler/web/ControllerActionTransformer.java  |   3 +-
 grails-converters/build.gradle                     |   3 +-
 .../ConvertersConfigurationInitializer.java        |   6 +
 ...DateMarshaller.java => CalendarMarshaller.java} |  21 +-
 .../converters/marshaller/json/DateMarshaller.java |   2 +-
 ...{DateMarshaller.java => InstantMarshaller.java} |  38 +-
 ...ateMarshaller.java => LocalDateMarshaller.java} |  38 +-
 ...arshaller.java => LocalDateTimeMarshaller.java} |  38 +-
 ...rshaller.java => OffsetDateTimeMarshaller.java} |  38 +-
 ...arshaller.java => ZonedDateTimeMarshaller.java} |  38 +-
 grails-core/build.gradle                           |   3 +-
 .../src/main/groovy/grails/boot/GrailsApp.groovy   |   7 +-
 .../test/groovy/grails/util/GrailsUtilTests.java   |   2 +-
 .../tools/ClassRelativeClassLoaderSpec.groovy      |   2 +-
 .../src/main/docs/gettingStarted/CRUD.adoc         |   2 +-
 .../docs/gettingStarted/creatingDomainClasses.adoc |   2 +-
 .../guide-rx/src/main/docs/introduction.adoc       |   2 +-
 .../src/main/docs/querying/dynamicFinders.adoc     |   2 +-
 .../guide-rx/src/main/docs/querying/index.adoc     |   8 +-
 .../src/main/docs/querying/whereQueries.adoc       |   2 +-
 .../guide-whats-new/src/main/docs/index.adoc       |   2 +-
 grails-data-graphql/build.gradle                   |   1 -
 .../docs/src/main/docs/guide/gettingStarted.adoc   |   6 +-
 .../docs/src/main/docs/guide/types.adoc            |   2 +-
 grails-data-hibernate5/README.md                   |  10 +-
 grails-data-hibernate5/boot-plugin/build.gradle    |   3 +-
 grails-data-hibernate5/core/build.gradle           |   3 +-
 grails-data-hibernate5/dbmigration/README.md       |   8 +-
 grails-data-hibernate5/dbmigration/build.gradle    |   3 +-
 .../DatabaseMigrationGrailsPlugin.groovy           |   2 +-
 .../command/DatabaseMigrationCommand.groovy        |  10 +-
 .../asciidoc/databaseMigration/gettingStarted.adoc |  14 -
 .../asciidoc/databaseMigration/introduction.adoc   |   2 +-
 .../gormAssociation/manyToOneAndOneToOne.adoc      |   2 +-
 .../docs/src/docs/asciidoc/introduction.adoc       |   2 +-
 .../docs/src/docs/asciidoc/learningMore.adoc       |   2 +-
 grails-data-hibernate5/grails-plugin/build.gradle  |   3 +-
 .../plugin/hibernate/HibernateGrailsPlugin.groovy  |   2 +-
 grails-data-mongodb/README.md                      |  10 +-
 grails-data-mongodb/boot-plugin/build.gradle       |   3 +-
 grails-data-mongodb/bson/build.gradle              |   3 +-
 .../codecs/temporal/InstantBsonConverter.groovy    |   6 +-
 .../temporal/InstantBsonConverterSpec.groovy       |   6 +-
 grails-data-mongodb/core/build.gradle              |  20 +-
 .../datastore/mapping/mongo/MongoDatastore.java    |  35 +-
 .../mongo/engine/MongoCodecEntityPersister.groovy  |  19 +
 .../engine/codecs/PersistentEntityCodec.groovy     |   7 -
 .../BeforeUpdatePropertyPersistenceSpec.groovy     | 201 ++++++++++
 .../docs/asciidoc/introduction/compatibility.adoc  |   2 +-
 .../src/docs/asciidoc/querying/queryingBasics.adoc |   2 +-
 grails-data-mongodb/ext/build.gradle               |   3 +-
 grails-data-mongodb/grails-plugin/build.gradle     |   3 +-
 .../plugins/mongodb/MongodbGrailsPlugin.groovy     |   2 +-
 grails-data-mongodb/gson-templates/build.gradle    |   3 +-
 grails-data-neo4j/README.md                        |   2 +-
 .../src/docs/asciidoc/mapping/associations.adoc    |   2 +-
 .../docs/src/docs/asciidoc/querying.adoc           |   6 +-
 grails-data-simple/build.gradle                    |   3 +-
 grails-databinding-core/build.gradle               |   3 +-
 grails-databinding/build.gradle                    |   3 +-
 .../converters/DefaultConvertersConfiguration.java |   5 +
 .../Jsr310ConvertersConfiguration.groovy           |  15 +
 grails-datamapping-async/build.gradle              |   3 +-
 .../groovy/grails/gorm/async/AsyncEntity.groovy    |   2 +
 grails-datamapping-core-test/build.gradle          |   3 +-
 .../schemaless/ImplementsDynamicAttributes.groovy  |  37 +-
 grails-datamapping-core/build.gradle               |   3 +-
 .../src/main/groovy/grails/gorm/MultiTenant.groovy |   4 +
 .../grails/gorm/time/InstantConverter.groovy       |   3 +
 .../grails/gorm/time/LocalDateConverter.groovy     |   3 +
 .../grails/gorm/time/LocalDateTimeConverter.groovy |   3 +
 .../grails/gorm/time/LocalTimeConverter.groovy     |   3 +
 .../gorm/time/OffsetDateTimeConverter.groovy       |   3 +
 .../grails/gorm/time/OffsetTimeConverter.groovy    |   3 +
 .../groovy/grails/gorm/time/PeriodConverter.groovy |   3 +
 .../grails/gorm/time/TemporalConverter.groovy      |   3 +
 .../grails/gorm/time/ZonedDateTimeConverter.groovy |   3 +
 .../compiler/gorm/DirtyCheckingTransformer.groovy  |   9 +-
 .../compiler/gorm/GormEntityTransformation.groovy  |  21 +-
 .../org/grails/datastore/gorm/GormEntity.groovy    | 116 ++++++
 .../grails/datastore/gorm/GormValidateable.groovy  |  19 +-
 .../gorm/schemaless/DynamicAttributes.groovy       |   6 +
 ...AbstractArrayOrIterableResultImplementer.groovy |   3 +
 .../AbstractReadOperationImplementer.groovy        |   3 +
 .../AbstractWriteOperationImplementer.groovy       |   3 +
 .../implementers/InterfaceProjectionBuilder.groovy |   6 +
 .../IterableInterfaceProjectionBuilder.groovy      |   3 +
 .../SingleResultInterfaceProjectionBuilder.groovy  |   2 +
 .../transform/ServiceTransformation.groovy         |  32 +-
 .../transform/TransactionalTransform.groovy        |  11 +-
 ...tDatastoreMethodDecoratingTransformation.groovy |  10 +-
 .../AbstractMethodDecoratingTransformation.groovy  |   2 +
 .../jakarta/services/ValidatedService.groovy       |  19 +-
 .../MethodValidationImplementer.groovy             |   2 +
 .../services/MethodValidationTransformSpec.groovy  | 111 +++---
 .../grails/gorm/time/InstantConverterSpec.groovy   |  18 +-
 .../grails/gorm/time/LocalDateConverterSpec.groovy |  23 +-
 .../gorm/time/LocalDateTimeConverterSpec.groovy    |  36 +-
 .../grails/gorm/time/LocalTimeConverterSpec.groovy |  25 +-
 .../gorm/time/OffsetDateTimeConverterSpec.groovy   |  44 ++-
 .../gorm/time/OffsetTimeConverterSpec.groovy       |  35 +-
 .../grails/gorm/time/PeriodConverterSpec.groovy    |  18 +-
 .../gorm/time/ZonedDateTimeConverterSpec.groovy    |  43 ++-
 .../gorm/EntityWithGenericSignaturesSpec.groovy    |  82 ++---
 .../compiler/gorm/GormEntityTransformSpec.groovy   | 286 ++++++++------
 .../compiler/gorm/JpaEntityTransformSpec.groovy    |  65 ++--
 grails-datamapping-rx/build.gradle                 |   3 +-
 .../main/groovy/grails/gorm/rx/MultiTenant.groovy  |  11 +-
 .../src/main/groovy/grails/gorm/rx/RxEntity.groovy |  68 +++-
 .../datastore/rx/collection/RxCollection.groovy    |  10 +-
 grails-datamapping-support/build.gradle            |   3 +-
 .../core/grailsversion/GrailsVersionSpec.groovy    |   2 +-
 grails-datamapping-tck/build.gradle                |   3 +-
 grails-datamapping-validation/build.gradle         |   3 +-
 grails-datasource/build.gradle                     |   3 +-
 grails-datastore-async/build.gradle                |   3 +-
 .../transform/DelegateAsyncTransformation.java     |   2 +
 .../gorm/async/transform/DelegateAsyncSpec.groovy  |  41 ++-
 grails-datastore-core/build.gradle                 |   3 +-
 .../mapping/dirty/checking/DirtyCheckable.groovy   |  12 +
 .../datastore/mapping/services/Service.groovy      |  14 +-
 .../dirty/checking/DirtyCheckableSpec.groovy       |  29 +-
 .../services/DefaultServiceRegistrySpec.groovy     |  31 +-
 grails-datastore-web/build.gradle                  |   3 +-
 grails-dependencies/assets/build.gradle            |   4 +-
 grails-dependencies/starter-web/build.gradle       |   4 +-
 grails-dependencies/test/build.gradle              |   4 +-
 grails-doc/README.md                               |   2 +-
 grails-doc/build.gradle                            |   4 +-
 .../src/en/guide/async/events/asyncConsuming.adoc  |   4 +-
 .../src/en/guide/async/events/asyncNotifying.adoc  |   4 +-
 grails-doc/src/en/guide/commandLine.adoc           |   2 +-
 .../plugins/addingDynamicMethodsAtRuntime.adoc     |   2 +-
 .../guide/plugins/addingMethodsAtCompileTime.adoc  |   2 +-
 .../plugins/creatingAndInstallingPlugins.adoc      | 251 ++-----------
 .../plugins/hookingIntoRuntimeConfiguration.adoc   |   4 +-
 .../en/guide/plugins/providingBasicArtefacts.adoc  |   4 +-
 .../services/dependencyInjectionServices.adoc      |   2 +-
 .../en/guide/testing/unitTesting/annotations.adoc  |   4 +-
 .../src/en/guide/upgrading/upgrading60x.adoc       | 273 +++++++++++++-
 grails-doc/src/en/ref/Controllers/render.adoc      |   6 +-
 grails-doc/src/en/ref/Tags - GSP/javascript.adoc   |   2 +-
 grails-domain-class/build.gradle                   |   7 +-
 grails-encoder/build.gradle                        |   3 +-
 grails-events/compat/build.gradle                  |   3 +-
 grails-events/core/build.gradle                    |   3 +-
 grails-events/gpars/build.gradle                   |   3 +-
 grails-events/plugin/build.gradle                  |   3 +-
 grails-events/rxjava/build.gradle                  |   3 +-
 grails-events/rxjava2/build.gradle                 |   3 +-
 grails-events/rxjava3/build.gradle                 |   3 +-
 grails-events/spring/build.gradle                  |   3 +-
 grails-events/transforms/build.gradle              |   3 +-
 grails-fields/README.md                            |   8 +-
 grails-fields/build.gradle                         |   3 +-
 .../plugin/formfields/FormFieldsTagLib.groovy      |  23 +-
 .../plugin/formfields/DisplayWidgetSpec.groovy     |  15 +-
 .../grails/plugin/formfields/mock/Person.groovy    |   5 +
 .../taglib/AbstractFormFieldsTagLibSpec.groovy     |   5 +-
 .../plugin/formfields/taglib/DisplayTagSpec.groovy |   2 +-
 grails-forge/README.md                             |   2 +-
 grails-forge/build.gradle                          |  38 --
 grails-forge/buildSrc/build.gradle                 |   8 +-
 grails-forge/gradle.properties                     |   2 +-
 grails-forge/gradle/dependency-licenses.gradle     |  30 --
 grails-forge/gradle/java-config.gradle             |   5 +
 grails-forge/gradle/publish-config.gradle          | 140 -------
 grails-forge/grails-cli-shadow/build.gradle        |   1 -
 grails-forge/grails-cli/build.gradle               |  16 +-
 grails-forge/grails-forge-cli/build.gradle         |   4 +-
 .../forge/cli/command/CreateAppCommandSpec.groovy  |  13 -
 grails-forge/grails-forge-core/build.gradle        |   5 +-
 .../grails/forge/feature/cache/GrailsCache.java    |   2 +-
 .../grails/forge/feature/database/MongoGorm.java   |   2 +-
 .../grails/forge/feature/database/Neo4jGorm.java   |  71 ----
 .../feature/lang/groovy/application.rocker.raw     |  11 +-
 .../forge/feature/logging/LogbackGroovy.java       |  83 -----
 .../feature/logging/template/logback.rocker.raw    |   2 +-
 .../logging/template/logbackGroovy.rocker.raw      | 119 ------
 .../forge/feature/micronaut/GrailsMicronaut.java   |  19 +-
 .../feature/micronaut/MicronautHttpClient.java     |  32 +-
 .../feature/migration/DatabaseMigrationPlugin.java |   2 +-
 .../feature/other/template/maindocs.rocker.raw     |   8 +-
 .../forge/feature/test/template/spock.rocker.raw   |   2 +-
 .../org/grails/forge/feature/view/GrailsViews.java |   2 +-
 .../org/grails/forge/feature/view/Scaffolding.java |   2 +-
 .../java/org/grails/forge/options/GormImpl.java    |   3 +-
 .../src/main/resources/gsp/main.gsp                |   4 +-
 .../grails-forge-core/src/main/resources/pom.xml   |  18 +-
 .../forge/feature/database/MongoGormSpec.groovy    |   9 -
 .../forge/feature/database/Neo4JGormSpec.groovy    |  67 ----
 .../feature/logging/LogbackGroovyConfigSpec.groovy |  56 ---
 grails-forge/settings.gradle                       |  80 +++-
 .../org/grails/forge/create/CreateAppSpec.groovy   |   6 +-
 grails-geb/README.md                               |  40 +-
 grails-geb/build.gradle                            |   7 +-
 .../grails/plugin/geb/ContainerFileDetector.groovy |   3 +-
 .../plugin/geb/ContainerGebConfiguration.groovy    |   7 +-
 .../grails/plugin/geb/ContainerGebSpec.groovy      |  13 +-
 .../plugin/geb/ContainerGebTestDescription.groovy  |   5 +-
 .../grails/plugin/geb/GebOnFailureReporter.groovy  |  10 +-
 .../plugin/geb/GebRecordingTestListener.groovy     |  19 +-
 .../plugin/geb/GrailsContainerGebExtension.groovy  |  38 +-
 .../grails/plugin/geb/GrailsGebSettings.groovy     |  84 +++--
 .../plugin/geb/WebDriverContainerHolder.groovy     | 410 ++++++++++++++-------
 grails-gradle/.gitignore                           |  14 -
 grails-gradle/bom/build.gradle                     |   6 +-
 grails-gradle/build.gradle                         |  30 --
 grails-gradle/common/build.gradle                  |   3 +-
 grails-gradle/docs-core/build.gradle               |  94 -----
 .../docs-core/src/main/template/style/menu.html    |  30 --
 grails-gradle/gradle.properties                    |   5 -
 grails-gradle/gradle/java-config.gradle            |  28 +-
 grails-gradle/gradle/publish-config.gradle         | 118 ------
 grails-gradle/gradle/publish-root-config.gradle    |   1 -
 grails-gradle/model/build.gradle                   |   4 +-
 .../main/groovy/grails/util/BuildSettings.groovy   |   2 +-
 .../src/main/groovy/grails/util/Environment.groovy |  24 --
 grails-gradle/plugins/README.md                    |   2 +-
 grails-gradle/plugins/build.gradle                 |   9 +-
 .../gradle/plugin/agent/AgentTasksEnhancer.groovy  |  88 -----
 .../gradle/plugin/core/GrailsExtension.groovy      |  67 ++--
 .../gradle/plugin/core/GrailsGradlePlugin.groovy   | 210 +++++------
 .../plugin/core/GrailsPluginGradlePlugin.groovy    | 100 ++---
 .../grails/gradle/plugin/core/PluginDefiner.groovy |  68 ++--
 .../exploded/ExplodedCompatibilityRule.groovy      |  30 +-
 .../exploded/ExplodedDisambiguationRule.groovy     |  28 +-
 .../plugin/exploded/GrailsExplodedPlugin.groovy    | 106 ++++++
 grails-gradle/settings.gradle                      |  79 +++-
 grails-gradle/tasks/build.gradle                   |   4 +-
 grails-gsp/README.md                               |   8 +-
 grails-gsp/core/build.gradle                       |   3 +-
 .../src/main/groovy/org/grails/gsp/GroovyPage.java |  47 ++-
 .../groovy/org/grails/gsp/GroovyPageMetaInfo.java  |  67 +++-
 .../groovy/org/grails/gsp/GroovyPageWritable.java  |  36 +-
 .../org/grails/gsp/GroovyPagesTemplateEngine.java  |  21 ++
 .../grails/gsp/compiler/GroovyPageCompiler.groovy  |  36 +-
 .../org/grails/gsp/compiler/GroovyPageParser.java  |   7 +-
 grails-gsp/grails-layout/build.gradle              |   3 +-
 grails-gsp/grails-sitemesh3/build.gradle           |   3 +-
 .../plugins/sitemesh3/Sitemesh3GrailsPlugin.groovy |   2 +-
 grails-gsp/grails-taglib/build.gradle              |   3 +-
 grails-gsp/grails-web-gsp-taglib/build.gradle      |   3 +-
 grails-gsp/grails-web-gsp/build.gradle             |   3 +-
 .../web/gsp/GroovyPagesTemplateRenderer.java       |  27 +-
 grails-gsp/grails-web-jsp/build.gradle             |   3 +-
 grails-gsp/grails-web-taglib/build.gradle          |   3 +-
 grails-gsp/plugin/build.gradle                     |   3 +-
 .../plugins/web/DefaultGrailsTagDateHelper.groovy  |   4 +
 .../gsp/compiler/tags/GroovyEachParseTests.groovy  |  14 +-
 .../groovy/org/grails/web/pages/ParseSpec.groovy   |  16 +-
 grails-i18n/build.gradle                           |   3 +-
 grails-interceptors/build.gradle                   |   3 +-
 grails-logging/README.md                           |   2 +-
 grails-logging/build.gradle                        |   3 +-
 grails-micronaut/build.gradle                      |   3 +-
 grails-mimetypes/build.gradle                      |   3 +-
 grails-profiles/base/build.gradle                  |   8 +-
 grails-profiles/base/commands/run-app.groovy       |   2 -
 grails-profiles/base/commands/test-app.groovy      |   2 -
 .../skeleton/grails-app/conf/logback-spring.xml    |   2 +-
 grails-profiles/plugin/build.gradle                |   6 +-
 grails-profiles/profile/build.gradle               |   6 +-
 grails-profiles/rest-api-plugin/build.gradle       |   6 +-
 grails-profiles/rest-api/build.gradle              |   6 +-
 grails-profiles/web-plugin/build.gradle            |   5 +-
 grails-profiles/web/build.gradle                   |   5 +-
 .../web/skeleton/grails-app/views/layouts/main.gsp |   4 +-
 grails-rest-transforms/build.gradle                |   7 +-
 grails-scaffolding/build.gradle                    |   3 +-
 .../plugin/scaffolding/DomainServiceLocator.java   | 103 ++++++
 .../grails/plugin/scaffolding/GormService.groovy   |  10 +-
 .../scaffolding/RestfulServiceController.groovy    |  21 +-
 .../scaffolding/ScaffoldingGrailsPlugin.groovy     |   2 +-
 grails-services/build.gradle                       |   3 +-
 grails-shell-cli/build.gradle                      |   7 +-
 .../profile/repository/MavenRepositorySpec.groovy  |   8 +-
 grails-spring/build.gradle                         |   3 +-
 grails-test-core/build.gradle                      |   3 +-
 .../functionaltests/DataBindingController.groovy   |  25 +-
 .../groovy/functionaltests/DataBindingSpec.groovy} |  18 +-
 .../cache/grails-app/views/layouts/main.gsp        |   6 +-
 grails-test-examples/exploded/build.gradle         |  65 ++++
 .../exploded/grails-app/conf/application.yml       | 124 +++++++
 .../grails-app/conf/logback.xml}                   |  28 +-
 .../grails-app/conf/spring/resources.groovy        |  14 +-
 .../controllers/exploded/UrlMappings.groovy        |  25 +-
 .../grails-app/init/exploded/Application.groovy    |  21 +-
 .../grails-app/init/exploded/BootStrap.groovy      |  21 +-
 .../exploded/grails-app/views/error.gsp            |  50 +++
 .../exploded/grails-app/views/index.gsp            | 147 ++++++++
 .../grails-app/views/layouts/main.gsp}             |  29 +-
 .../grails-app/views/notFound.gsp}                 |  16 +-
 .../groovy/exploded/LoadAfterSpec.groovy}          |  12 +-
 .../grails-app/conf/logback-spring.xml             |   2 +-
 grails-test-examples/geb-gebconfig/build.gradle    |   1 +
 .../grails-app/conf/logback-spring.xml             |   2 +-
 .../grails-app/views/layouts/main.gsp              |   6 +-
 .../groovy/org/demo/spock/GebConfigSpec.groovy     |   4 +-
 .../integration-test/resources/GebConfig.groovy    |  39 +-
 .../geb/grails-app/conf/logback-spring.xml         |   2 +-
 .../geb/grails-app/views/layouts/main.gsp          |   6 +-
 .../geb/grails-app/views/serverName/index.gsp      |   9 +-
 .../spock/ContainerFileDetectorDefaultSpec.groovy  |   7 +-
 .../spock/ContainerFileDetectorSpockSpec.groovy    |   2 +-
 .../org/demo/spock/DownloadSupportSpec.groovy      |   4 +-
 .../org/demo/spock/InheritedConfigSpec.groovy      |  16 +-
 .../groovy/org/demo/spock/PageDelegateSpec.groovy  |   2 +-
 .../org/demo/spock/PerTestRecordingSpec.groovy     |   6 +-
 .../groovy/org/demo/spock/RootPageSpec.groovy      |   6 +-
 .../org/demo/spock/ServerNameControllerSpec.groovy |   6 +-
 .../groovy/org/demo/spock/UploadSpec.groovy        |  12 +-
 .../org/demo/spock/pages/ServerNamePage.groovy     |  19 +-
 .../org/demo/spock/pages/UploadSuccessPage.groovy  |  18 +-
 .../gsp-layout/grails-app/views/layouts/main.gsp   |   6 +-
 .../grails-app/views/layouts/main.gsp              |   6 +-
 .../issue450/grails-app/views/layouts/main.gsp     |   6 +-
 .../micronaut/grails-app/views/layouts/main.gsp    |   6 +-
 .../plugins/exploded}/build.gradle                 |  41 +--
 .../exploded/grails-app/conf/application.yml       |  98 +++++
 .../exploded/grails-app/conf/logback.xml}          |  28 +-
 .../controllers/exploded/LoginController.groovy    |  19 +-
 .../controllers/exploded/UrlMappings.groovy        |  27 +-
 .../grails-app/init/exploded/Application.groovy    |  21 +-
 .../grails-app/init/exploded/BootStrap.groovy      |  21 +-
 .../exploded/grails-app/views/layouts/main.gsp     |  70 ++++
 .../exploded/grails-app/views/login/auth.gsp}      |  18 +-
 .../groovy/exploded/ExplodedGrailsPlugin.groovy    |  23 +-
 grails-test-examples/scaffolding/build.gradle      |  72 ++++
 .../grails-app/assets/images/advancedgrails.svg    |  27 ++
 .../assets/images/apple-touch-icon-retina.png      | Bin 0 -> 7038 bytes
 .../grails-app/assets/images/apple-touch-icon.png  | Bin 0 -> 3077 bytes
 .../grails-app/assets/images/documentation.svg     |  19 +
 .../grails-app/assets/images}/favicon.ico          | Bin
 .../assets/images}/grails-cupsonly-logo-white.svg  |   0
 .../grails-app/assets/images}/grails.svg           |   0
 .../scaffolding/grails-app/assets/images/slack.svg |  18 +
 .../grails-app/assets/javascripts/application.js   |  42 +--
 .../grails-app/assets/stylesheets/application.css  |  25 +-
 .../grails-app/assets/stylesheets/errors.css       | 109 ++++++
 .../grails-app/assets/stylesheets/grails.css       |  96 +++++
 .../scaffolding/grails-app/conf/application.yml    | 157 ++++++++
 .../grails-app/conf/logback-spring.xml             |   4 +-
 .../controllers/com/example/UrlMappings.groovy     |  23 +-
 .../controllers/com/example/UserController.groovy  |  18 +-
 .../com/example/community/UserController.groovy    |  20 +-
 .../grails-app/domain/com/example/User.groovy      |  64 ++++
 .../domain/com/example/community/User.groovy       |  40 +-
 .../grails-app/i18n/messages.properties            |  71 ++++
 .../grails-app/init/com/example/Application.groovy |  22 +-
 .../grails-app/init/com/example/BootStrap.groovy   |  23 +-
 .../services/com/example/UserService.groovy        |  39 +-
 .../example/community/CommunityUserService.groovy  |  20 +-
 .../scaffolding/grails-app/views/error.gsp         |  51 +++
 .../scaffolding/grails-app/views/index.gsp         | 102 +++++
 .../scaffolding/grails-app/views/layouts}/main.gsp |  22 +-
 .../grails-app/views/notFound.gsp}                 |  35 +-
 .../example/UserCommunityControllerSpec.groovy}    |  40 +-
 .../groovy/com/example/UserControllerSpec.groovy}  |  40 +-
 .../groovy/com/example/pages/LoginPage.groovy      |  25 +-
 .../groovy/com/example/pages/LogoutPage.groovy     |  26 +-
 .../converters/JSONDateTimeMarshallingSpec.groovy  | 149 ++++++++
 grails-testing-support-core/build.gradle           |   3 +-
 grails-testing-support-datamapping/build.gradle    |   3 +-
 grails-testing-support-mongodb/build.gradle        |   3 +-
 grails-testing-support-views-gson/build.gradle     |   3 +-
 grails-testing-support-web/build.gradle            |   3 +-
 .../grails/testing/web/GrailsWebUnitTest.groovy    |   5 +-
 grails-url-mappings/build.gradle                   |   3 +-
 grails-validation/build.gradle                     |   3 +-
 grails-views-core/build.gradle                     |   6 +-
 grails-views-gson/build.gradle                     |   6 +-
 .../grails/plugin/json/builder/JsonGenerator.java  |   2 +-
 .../json/converters/InstantJsonConverter.groovy    |   3 +-
 .../converters/ZonedDateTimeJsonConverter.groovy   |   2 +-
 .../view/JsonViewGeneratorConfiguration.groovy     |   2 +-
 .../plugin/json/view/JsonViewGrailsPlugin.groovy   |   2 +-
 .../plugin/json/view/DateTimeRenderingSpec.groovy  | 230 ++++++++++++
 grails-views-markup/build.gradle                   |   3 +-
 .../markup/view/MarkupViewGrailsPlugin.groovy      |   2 +-
 grails-web-boot/build.gradle                       |   3 +-
 grails-web-common/build.gradle                     |   3 +-
 grails-web-core/build.gradle                       |   3 +-
 grails-web-databinding/build.gradle                |   7 +-
 grails-web-mvc/build.gradle                        |   3 +-
 grails-web-url-mappings/build.gradle               |   3 +-
 grails-wrapper/build.gradle                        |   6 +-
 grails-wrapper/distribution-artifacts/DISCLAIMER   |   1 -
 settings.gradle                                    |  86 ++++-
 524 files changed, 7735 insertions(+), 3977 deletions(-)

diff --cc dependencies.gradle
index ab960a087e,b69ae8e2ec..624f2bbb7d
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@@ -76,8 -72,8 +72,8 @@@ ext 
              'bootstrap-icons.version'     : '1.13.1',
              'bootstrap.version'           : '5.3.7',
              'commons-codec.version'       : '1.18.0',
-             'geb-spock.version'           : '7.0',
+             'geb-spock.version'           : '8.0.0',
 -            'groovy.version'              : '4.0.29',
 +            'groovy.version'              : '5.0.1',
              'h2.version'                  : '2.3.232',
              'jackson.version'             : '2.19.1',
              'jquery.version'              : '3.7.1',

Reply via email to