You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by jd...@apache.org on 2026/10/01 04:48:47 UTC

(grails-core) branch chore/lint-proxy-package updated (7b33002957 -> c70c206678)

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

jdaugherty pushed a change to branch chore/lint-proxy-package
in repository https://gitbox.apache.org/repos/asf/grails-core.git


    omit 7b33002957 Route every MetaClass dispatch variant through the proxy rules and extend proxy coverage
    omit a407d282c6 Close ProxyInstanceMetaClass patch coverage gaps flagged by Codecov
    omit 518b4c4a23 Revert GroovyProxyFactory helper methods to instance methods
    omit be19a82acf Address IntelliJ inspections in ProxyInstanceMetaClass
    omit 89a91e8698 Address IntelliJ inspections in GroovyProxyFactory
    omit 0addc94005 Add unit test coverage for grails-datamapping-core proxy package
    omit 8f1defbdc3 Merge pull request #16140 from apache/chore/cleanup-AbstractCriteriaBuilder
    omit 40fe14952f Merge pull request #16147 from apache/test/abstract-datastore-initializer
    omit 2510fa5eda Merge pull request #16143 from apache/chore/cleanup-AbstractDetachedCriteria
    omit c0471a1c88 Clean up AbstractCriteriaBuilder and add unit test coverage
    omit 070de66fd1 Drop the no-op enableReload fallback, keep instance methods, guard blank Mongo database names
    omit 4e535bf12e Exercise AbstractDetachedCriteria property and association resolution through a real datastore
    omit 4930d18c30 Address PR review feedback: flaky test risk and coverage gaps
    omit 853300d24a Fix enableReload being silently ignored; remove dead grailsPlugin property
    omit 6cd80a1738 Remove dead registerApplicationIfNotPresent property
    omit 08d5b46933 Fix setDatabaseName being silently ignored on MongoDbDataStoreSpringInitializer
    omit a50c2e28ab Fix defaultDataSourceBeanName being hardcoded around instead of used
    omit 4cd6cc6300 Fix setMongoBeanName being silently ignored when building a new MongoClient
    omit 16da223eb8 Address jdaugherty's review on PR #16143
    omit cc1459704a Assert custom JoinType is passed through in prepareQuery fetch-strategy test
    omit a1b1d65004 Remove dead getTestDbUrl/defaultSessionFactoryBeanName/SESSION_FACTORY_BEAN_NAME from H7 initializer
    omit bd82a5d4fc Remove now-dead SESSION_FACTORY_BEAN_NAME constant from H5 initializer
    omit 1970ea0828 Fix H5 HibernateDatastoreSpringInitializer warnings and add PropertyResolver constructor coverage
    omit 8524661140 Close test coverage gaps in the Hibernate5/7 and MongoDB datastore initializers
    omit c434d14865 Add test coverage for AbstractDetachedCriteria and rx DetachedCriteria
    omit ba1d05dc70 Add unit coverage for AbstractDatastoreInitializer and clean up IDE warnings
    omit ce7c66ae42 Merge pull request #16191 from apache/chore/clean-grails-datamapping-support
    omit c0598ace4d Merge pull request #16151 from apache/test/document-datamapping-events
    omit 78a8f5384a Merge pull request #16205 from apache/fix/graphql-errors-response
    omit 712ac5d822 Merge pull request #16207 from apache/chore/graphql-root-cleanup
    omit 4ddcecd368 Dispatch through the deprecated three-argument hooks and keep ZERO_PARAMS
    omit b8ba0e6802 Merge pull request #16072 from apache/fix/optimistic-locking-spec-join-assert
    omit 0ab8a74aa6 Tighten the new datamapping-support specs after rebasing onto 8.1.x
    omit f3f1d41f50 fix(neo4j): make OptimisticLockingSpec commit, observe and verify the background write
    omit 4632f8fcec Replace deprecated DataFetchingEnvironment#getContext() in getLocale()
    omit 4c5fc58a02 Remove unnecessary cast in DefaultApplicationEventPublisher.dispatch
    omit 15ff4dff7e Replace .equals() with == in rx AutoTimestampEventListener/DomainEventListener
    omit 8922c1453d Fix MultiTenantEventListener IntelliJ warnings
    omit 164f298a3f Deduplicate DefaultApplicationEventPublisher.publishEvent overloads
    omit 0639395e64 Fix AutoTimestampEventListener IntelliJ warnings
    omit 1c85119879 Call GraphQLMapping.build statically and cover the remaining getMapping branches
    omit 57693e80c7 Assert supportsEventType's eventType parameter as @NonNull
    omit bb46bc9561 Fix DomainEventListener IntelliJ warnings
    omit c5fcfe802c Remove dead event-argument-hook branch from DomainEventListener
    omit 402dc51d8e Add construction/dispatch test coverage for AutoTimestampEventListener
    omit 3c671da192 Add test coverage for org.grails.datastore.gorm.events (core)
    omit 8956052069 Make Schema.generate()'s null return explicit
    omit 8bf9ca0c51 Remove unnecessary public modifier from GraphQLServiceManager.getService
    omit 45dbdfad4f Consolidate GraphQLEntityHelper.getMapping's multi-branch reassignment
    omit 539e9d12eb Add missing test coverage for grails-datamapping-support and dedupe ConfigSupport usage
    omit be6457e1b9 Merge pull request #16166 from apache/chore/8.1.x-datamapping-core-transform-cleanup
    omit af79fbd713 Merge pull request #16204 from apache/refactor/graphql-types
    omit f7e08a3f8b Add specs and clean up transactions.transform/transform in grails-datamapping-core
    omit f2c17f57e5 Migrate all Coercing implementations off deprecated 1-arg overrides
    omit d9ae59b2f8 Fix control flow and migrate deprecated typeResolver in AbstractObjectTypeBuilder
    omit a48c900bd6 Fix DateCoercion NPE when no date formats are configured
    omit ce9f0347f9 Merge pull request #16203 from apache/refactor/graphql-fetcher
    omit b048d0a3d9 Document why DeleteEntityDataFetcher builds the response outside the try
    omit 19c8f49d8b Document why DefaultGormDataFetcher.associations stays an unbounded wildcard
    omit 9bc0627b24 Fix type mismatch and unclear control flow in DefaultGormDataFetcher
    omit cac1f3e461 Replace deprecated DataFetchingEnvironment#getFields() in InterceptorInvoker
    omit ad02f58238 Deduplicate the log-if-prevented logic shared by the interceptor invokers
    omit d291c02498 Cast executeQuery's DetachedCriteria#list result to T in EntityDataFetcher
    omit e1f81a4c08 Merge pull request #16164 from apache/chore/8.1.x-datamapping-core-timestamp
    omit 838d992818 Merge pull request #16206 from apache/refactor/graphql-testing-util
    omit eb36646bc6 Honor an explicitly set mergedField in MockDataFetchingEnvironment
    omit c4d5f26feb Declare DELEGATE_FIRST on the RxGORM criteria closure API
    omit b3678351e0 Merge 8.0.x into 8.1.x
    omit 7b9999e30d Merge 8.0.x into 8.1.x
    omit 55ee95ea54 Compare configuration metadata paths as the build reports them
    omit 6b880b3116 Merge 8.0.x into 8.1.x
    omit 4e0c3f85b5 Merge pull request #16345 from codeconsole/merge/8.0.x-into-8.1.x
    omit 916fefe0ac Merge 8.0.x into 8.1.x
    omit 110573590e Merge pull request #16343 from codeconsole/merge/8.0.x-into-8.1.x
    omit e1a84ec845 Merge 8.0.x into 8.1.x
    omit bfeb3756b5 Merge pull request #16340 from codeconsole/merge/8.0.x-into-8.1.x
    omit 69ea462781 Merge 8.0.x into 8.1.x
    omit 254594535f fix: keep both bindParametersAndSave overloads after the 8.0.x merge
    omit f6fed78bb3 Merge branch '8.0.x' into 8.1.x
    omit 3d18f43ab4 Merge pull request #16306 from jamesfredley/merge/8.0.x-into-8.1.x-slots
    omit 7b7fb6e795 Merge branch '8.0.x' into 8.1.x
    omit 56a9f243fd Merge branch '8.0.x' into 8.1.x
    omit f7479321c7 Merge pull request #16276 from apache/merge/8.0.x-into-8.1.x
    omit 0015d6ec08 Restore RX GORM compatibility with current core APIs
    omit 9c05996435 Fix Java string literal using Groovy-style interpolation in EntityASTTransformation
    omit 5d4bfc69b8 Merge branch '8.0.x' into 8.1.x
    omit bb21a3aef1 Merge pull request #16266 from apache/sync/forge-aws-gha-8.1
    omit 7e9d6496d2 Sync Forge AWS GitHub deploy with working 8.0.x
    omit 21aaad7487 Merge pull request #16258 from apache/feat/forge-aws-8.1
    omit 99b1a955d5 Bring Forge AWS deploy onto 8.1.x without merging all of 8.0.x
    omit 8465cbd1a5 Merge pull request #16252 from apache/merge/forge-aws-simple-8.1
    omit 9025380704 Merge branch '8.0.x' into 8.1.x
    omit a6a405db56 Merge pull request #16247 from apache/merge/8.0.x-into-8.1.x-aws
    omit 757beb2b7a Merge branch '8.0.x' into 8.1.x
    omit 23cc1e2bef Merge pull request #16241 from apache/merge/8.0.x-into-8.1.x
    omit 79018cf553 Merge branch '8.0.x' into 8.1.x
    omit a4218ff513 Add spec coverage for AggregateTimestampProvider
    omit 75cd61800d Add test coverage and fix compiler crashes in GORM AST transforms (#16148)
    omit df424da847 Merge branch '8.0.x' into 8.1.x
    omit 8be3bf2060 Merge branch '8.0.x' into 8.1.x
    omit 0613772b36 Merge pull request #16135 from apache/feat/enable-datamapping-rx
    omit 506228bd92 Fix concurrency races and a message typo flagged in Copilot's first review
    omit 9a276e66c7 Un-pend RxServiceImplSpec's property projection test - the 2017 blocker is stale
    omit 770448e475 Fix mis-targeted assertion in RxServiceImplSpec's string-query test
    omit 10516d794c Fix RX Observable multi-result cast bug in the delegating closure body
    omit 9eb7887b9a Fix RX service Single/Observable cast bug via wrapped-return-type restore
    omit 1d8f3e7ceb Address PR review feedback on grails-datamapping-rx re-enablement
    omit 2632f6fc6c Add unit test coverage for grails-datamapping-rx (98.7% line coverage),   fix 10 latent bugs found along the way
    omit 131b7694ad Re-enable grails-datamapping-rx module
    omit 4b7c10da0f Merge branch '8.0.x' into 8.1.x
    omit 0885113a3d Merge branch '8.0.x' into 8.1.x
    omit e882d7932b build: exclude the Spring DM example until 8.1.0-SNAPSHOT is published
    omit 8de4847629 Merge branch '8.0.x' into 8.1.x
    omit a7ca1e60b7 chore: setup 8.1.x branch
     add b6221ee3fb fix: explain the missing application class in tasks that need one
     add 151cd71401 Keep requireMainClass out of the public API and read the provider once
     add 267c253870 Merge pull request #16433 from matrei/fix/16431-config-report-task-without-application
     add d63429b700 Add coverage for AggregatePersistenceContextInterceptor
     add 0bd04f814b Extend HibernateCriteriaBuilderDirectSpec for low-level coverage
     add 5a3e94477d Close coverage gaps on DetachedAssociationFunction and IdentityEnumType
     add 989ae60caa Close proxy-unwrap and delegate-overload gaps on GrailsHibernateUtil
     add 5615247fa0 Cover composite-identity join-key derivation in ManyToOneBinder
     add e503f08be5 Close remaining gaps on ChildHibernateDatastore, JpaQueryContext, SelectHqlQuery
     add d521a74c6c Add HibernateGrailsPluginSpec covering doWithSpring bean wiring
     add e5bc501662 Merge pull request #16278 from apache/test/grails-data-hibernate7-coverage
     add f3efcf11a1 test: pause in the first recording test of PerTestRecordingSpec
     add 9374de971f Merge pull request #16435 from apache/test/per-test-recording-pause
     add 0bd2d8e4db fix: improve type hints in web unit test support classes
     add f5b845eb67 test: cover typed web unit test mocks
     add 7c1ce85538 style: clean up web unit test support code
     add 7e1be35103 Merge branch '8.0.x' into test-support-type-hints
     add 8e9f6145c2 style: cleanup
     add f19397a2c6 test: update tests to move cast
     add 0e9eea5c09 Merge branch '8.0.x' into test-support-type-hints
     add c97a39e840 fix: restore original artefact instance resolution in ParameterizedGrailsUnitTest
     add a587595a67 Merge remote-tracking branch 'origin/8.0.x' into test-support-type-hints
     add 44ef27a9a4 fix: keep web unit test traits compilable on Groovy 6
     add 97aec85529 Merge pull request #16093 from apache/test-support-type-hints
     add 3385fbeef0 fix: include the configuration metadata of plugins in config-report
     add df82ef7a7d Merge pull request #16434 from matrei/fix/16432-config-report-plugin-properties
     add 55422f4280 Restrict Dependabot on 7.x branches to patch updates
     add c31e17a097 Merge branch '7.0.x' into 7.1.x
     add 5385606af3 Merge branch '7.1.x' into 7.2.x
     add 69f1885571 Merge branch '7.2.x' into 8.0.x
     add a9bf324458 Bump github/codeql-action to v4.38.2 and group its Dependabot updates
     add 2843eacfa3 Merge pull request #16437 from apache/deps/codeql-action-4.38.2
     add ccb4e3cb60 Bump release-drafter/release-drafter from 7.3.1 to 7.7.0
     add ed2aa4dd96 Merge pull request #16448 from apache/dependabot/github_actions/release-drafter/release-drafter-7.7.0
     add 4a17bccf80 Bump softprops/action-gh-release from 3.0.2 to 3.0.3
     add 910cf0e565 Merge pull request #16447 from apache/dependabot/github_actions/softprops/action-gh-release-3.0.3
     add d03fbba01b Fix the two intermittent Neo4j functional test failures
     add 6f95ce48be Merge pull request #16436 from apache/fix/neo4j-ci-flakes
     add 3f29c8676c Bump testlens-app/setup-testlens from 1.9.3 to 1.9.4
     add 2ec52f53be Merge pull request #16446 from apache/dependabot/github_actions/testlens-app/setup-testlens-1.9.4
     add 038f0076a8 Bump codecov/codecov-action from 7.0.0 to 7.1.1
     add 3d1e78d46b Merge pull request #16443 from apache/dependabot/github_actions/codecov/codecov-action-7.1.1
     add 8b248fbe3b Bump aws-actions/configure-aws-credentials from 6.2.3 to 6.3.0
     add 82c7530f04 Merge pull request #16442 from apache/dependabot/github_actions/aws-actions/configure-aws-credentials-6.3.0
     add 7e163ba976 added better deployment docs
     add e9f4cc499b Modernize deployment documentation for Grails 8
     add 452038198b Merge pull request #15338 from Ajay9704/better-deployment-doc
     add 6fa8aa7e6b Add unit test coverage for grails-datamapping-core proxy package
     add ad528c7550 Address IntelliJ inspections in GroovyProxyFactory
     add 8e7ffe0b37 Address IntelliJ inspections in ProxyInstanceMetaClass
     add b916a90a6d Revert GroovyProxyFactory helper methods to instance methods
     add 3f50acf903 Close ProxyInstanceMetaClass patch coverage gaps flagged by Codecov
     add c70c206678 Route every MetaClass dispatch variant through the proxy rules and extend proxy coverage

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (7b33002957)
            \
             N -- N -- N   refs/heads/chore/lint-proxy-package (c70c206678)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/dependabot.yml                             |   29 +
 .github/workflows/codeql.yml                       |    4 +-
 .github/workflows/coverage.yml                     |    2 +-
 .github/workflows/end-to-end.yml                   |    2 +-
 .github/workflows/forge-deploy-aws.yml             |    2 +-
 .github/workflows/gradle.yml                       |  106 +-
 .github/workflows/groovy-snapshot-canary.yml       |    4 +-
 .github/workflows/rat.yml                          |    2 +-
 .github/workflows/release-notes.yml                |    2 +-
 .github/workflows/release.yml                      |   10 +-
 .github/workflows/sitemesh2.yml                    |    4 +-
 THREAT_MODEL.md                                    |    4 +-
 .../buildsrc/GrailsRepoSettingsPlugin.groovy       |    9 +
 .../buildsrc/GrailsRepoSettingsPluginSpec.groovy   |  119 ++
 end-to-end/gradle.properties                       |    2 +-
 gradle.properties                                  |   10 +-
 gradle/publish-root-config.gradle                  |    2 +-
 .../grails/core/cli/ConfigReportCommand.groovy     |   49 +-
 .../injection/EntityASTTransformation.java         |    2 +-
 .../grails/core/cli/ConfigReportCommandSpec.groovy |   76 ++
 .../test/groovy/grails/util/GrailsUtilTests.java   |    2 +-
 .../injection/EntityASTTransformationSpec.groovy   |   40 -
 .../grails/gorm/graphql/GraphQLEntityHelper.groovy |   59 +-
 .../gorm/graphql/GraphQLServiceManager.groovy      |    2 +-
 .../groovy/org/grails/gorm/graphql/Schema.groovy   |    1 -
 .../graphql/fetcher/DefaultGormDataFetcher.groovy  |   32 +-
 .../fetcher/impl/DeleteEntityDataFetcher.groovy    |    4 -
 .../graphql/fetcher/impl/EntityDataFetcher.groovy  |    2 +-
 .../interceptor/CustomInterceptorInvoker.groovy    |    8 +-
 .../fetcher/interceptor/InterceptorInvoker.groovy  |   23 +-
 .../interceptor/ProvidedInterceptorInvoker.groovy  |    9 +-
 .../DefaultGraphQLErrorsResponseHandler.groovy     |   13 +-
 .../types/output/AbstractObjectTypeBuilder.groovy  |   61 +-
 .../scalars/coercing/ByteArrayCoercion.groovy      |   10 +-
 .../scalars/coercing/CharacterArrayCoercion.groovy |   14 +-
 .../types/scalars/coercing/CurrencyCoercion.groovy |    9 +-
 .../types/scalars/coercing/DateCoercion.groovy     |   11 +-
 .../types/scalars/coercing/SqlDateCoercion.groovy  |    9 +-
 .../types/scalars/coercing/TimeCoercion.groovy     |    9 +-
 .../types/scalars/coercing/TimeZoneCoercion.groovy |    9 +-
 .../scalars/coercing/TimestampCoercion.groovy      |    9 +-
 .../types/scalars/coercing/URICoercion.groovy      |    9 +-
 .../types/scalars/coercing/URLCoercion.groovy      |    9 +-
 .../types/scalars/coercing/UUIDCoercion.groovy     |    9 +-
 .../scalars/coercing/jsr310/InstantCoercion.groovy |   23 +-
 .../scalars/coercing/jsr310/Jsr310Coercion.groovy  |    9 +-
 .../gorm/graphql/GraphQLEntityHelperSpec.groovy    |  140 ---
 .../impl/InterceptingDataFetcherSpec.groovy        |    6 +-
 .../MutationInterceptorInvokerSpec.groovy          |    4 +-
 .../interceptor/QueryInterceptorInvokerSpec.groovy |    4 +-
 .../DefaultGraphQLErrorsResponseHandlerSpec.groovy |   35 +-
 .../testing/MockDataFetchingEnvironmentSpec.groovy |   47 -
 .../output/AbstractObjectTypeBuilderSpec.groovy    |   76 --
 .../graphql/types/output/inheritance/Animal.groovy |   29 -
 .../graphql/types/output/inheritance/Dog.groovy    |   29 -
 .../output/inheritance/InheritancePackage.groovy   |   28 -
 .../scalars/coercing/ByteArrayCoercionSpec.groovy  |    4 +-
 .../coercing/CharacterArrayCoercionSpec.groovy     |    6 +-
 .../scalars/coercing/CurrencyCoercionSpec.groovy   |   18 +-
 .../types/scalars/coercing/DateCoercionSpec.groovy |   45 +-
 .../scalars/coercing/SqlDateCoercionSpec.groovy    |   24 +-
 .../types/scalars/coercing/TimeCoercionSpec.groovy |   22 +-
 .../scalars/coercing/TimeZoneCoercionSpec.groovy   |   16 +-
 .../scalars/coercing/TimestampCoercionSpec.groovy  |   22 +-
 .../types/scalars/coercing/URICoercionSpec.groovy  |   20 +-
 .../types/scalars/coercing/URLCoercionSpec.groovy  |   20 +-
 .../types/scalars/coercing/UUIDCoercionSpec.groovy |   20 +-
 .../coercing/jsr310/InstantCoercionSpec.groovy     |   25 +-
 .../coercing/jsr310/LocalDateCoercionSpec.groovy   |   22 +-
 .../jsr310/LocalDateTimeCoercionSpec.groovy        |   20 +-
 .../coercing/jsr310/LocalTimeCoercionSpec.groovy   |   20 +-
 .../jsr310/OffsetDateTimeCoercionSpec.groovy       |   20 +-
 .../coercing/jsr310/OffsetTimeCoercionSpec.groovy  |   20 +-
 .../jsr310/ZonedDateTimeCoercionSpec.groovy        |   20 +-
 .../testing/MockDataFetchingEnvironment.groovy     |    4 +-
 .../docs/guide/customizations/configuration.adoc   |    4 +-
 .../gorm/graphql/GraphqlControllerSpec.groovy      |    7 -
 .../HibernateDatastoreSpringInitializer.groovy     |   11 +-
 .../plugin/hibernate/HibernateGrailsPlugin.groovy  |   17 +-
 .../HibernateDatastoreSpringInitializerSpec.groovy |  127 --
 .../hibernate/HibernateGrailsPluginSpec.groovy     |   87 --
 .../grails/gorm/tests/IdentityEnumTypeSpec.groovy  |  142 +++
 .../orm/HibernateCriteriaBuilderDirectSpec.groovy  |  130 ++-
 .../ChildHibernateDatastoreUnitSpec.groovy         |   37 +
 .../hibernate/cfg/GrailsHibernateUtilSpec.groovy   |   76 ++
 .../cfg/domainbinding/ManyToOneBinderSpec.groovy   |  100 ++
 .../query/DetachedAssociationFunctionSpec.groovy   |   19 +
 .../orm/hibernate/query/JpaQueryContextSpec.groovy |   98 ++
 .../orm/hibernate/query/SelectHqlQuerySpec.groovy  |   33 +
 .../HibernateDatastoreSpringInitializer.groovy     |   11 +-
 .../plugin/hibernate/HibernateGrailsPlugin.groovy  |   17 +-
 .../HibernateDatastoreSpringInitializerSpec.groovy |   93 --
 .../hibernate/HibernateGrailsPluginSpec.groovy     |  127 +-
 ...gregatePersistenceContextInterceptorSpec.groovy |  201 ++++
 .../MongoDbDataStoreSpringInitializer.groovy       |   27 +-
 .../MongoDbDataStoreSpringInitializerSpec.groovy   |  105 --
 ...ongoDbDataStoreSpringInitializerUnitSpec.groovy |  341 ------
 .../plugins/mongodb/MongodbGrailsPlugin.groovy     |    1 +
 .../gorm/tests/HasManyInheritanceSpec.groovy       |    3 +-
 .../grails/gorm/tests/OptimisticLockingSpec.groovy |   98 +-
 .../tests/multitenancy/MultiTenancySpec.groovy     |    3 +-
 .../datastore/gorm/neo4j/Neo4jGrailsPlugin.groovy  |    1 +
 grails-datamapping-core-test/build.gradle          |    3 +-
 .../grails/gorm/services/RxServiceImplSpec.groovy  |  394 ++++---
 .../main/groovy/grails/gorm/CriteriaBuilder.java   |   17 +-
 .../bootstrap/AbstractDatastoreInitializer.groovy  |   31 +-
 .../gorm/events/AutoTimestampEventListener.java    |   28 +-
 .../ConfigurableApplicationEventPublisher.groovy   |    3 +-
 .../events/DefaultApplicationEventPublisher.groovy |   28 +-
 .../datastore/gorm/events/DomainEventListener.java |  139 +--
 .../query/criteria/AbstractCriteriaBuilder.java    |  206 ++--
 .../query/criteria/AbstractDetachedCriteria.groovy |   37 +-
 .../implementers/AbstractSaveImplementer.groovy    |   11 -
 .../services/implementers/SaveImplementer.groovy   |    2 +-
 .../implementers/UpdateOneImplementer.groovy       |    2 +-
 .../gorm/timestamp/AggregateTimestampProvider.java |    2 +-
 .../gorm/timestamp/DefaultTimestampProvider.java   |    2 +
 .../transform/TransactionalTransform.groovy        |    8 +-
 ...tDatastoreMethodDecoratingTransformation.groovy |    5 +-
 .../transform/AbstractGormASTTransformation.groovy |   28 +-
 .../AbstractMethodDecoratingTransformation.groovy  |    5 +-
 ...stractTraitApplyingGormASTTransformation.groovy |    2 +-
 .../gorm/transform/AstPropertyResolveUtils.java    |   12 +-
 .../gorm/transform/GormASTTransformationClass.java |    3 +-
 .../transform/OrderedGormTransformation.groovy     |    8 +-
 .../gorm/CriteriaBuilderIntegrationSpec.groovy     |  126 --
 .../groovy/grails/gorm/CriteriaBuilderSpec.groovy  | 1186 +------------------
 .../AbstractDatastoreInitializerSpec.groovy        |  376 ------
 ...ctDatastoreInitializerWebApplicationSpec.groovy |    5 +
 .../gorm/bootstrap/TestDatastoreInitializer.groovy |   95 --
 ...toTimestampEventListenerConstructionSpec.groovy |  347 ------
 ...ableApplicationContextEventPublisherSpec.groovy |   45 +-
 .../DefaultApplicationEventPublisherSpec.groovy    |  163 ---
 .../gorm/events/DomainEventListenerSpec.groovy     |  807 -------------
 .../criteria/AbstractDetachedCriteriaSpec.groovy   | 1135 ------------------
 .../criteria/DetachedCriteriaCloneSpec.groovy      |    5 +
 .../gorm/query/criteria/TestEntity.groovy          |   28 -
 .../AbstractSaveImplementerSpec.groovy             |  128 --
 .../AggregateTimestampProviderSpec.groovy          |  126 --
 .../transform/RollbackTransformSpec.groovy         |   85 --
 ...astoreMethodDecoratingTransformationSpec.groovy |  224 ----
 ...stractMethodDecoratingTransformationSpec.groovy |  227 ----
 .../gorm/transform/ApplyTestMethodDecorating.java  |   40 -
 .../ApplyThrowingConstructorGormTransform.java     |   41 -
 .../transform/AstMethodDispatchUtilsSpec.groovy    |  171 ---
 .../transform/OrderedGormTransformationSpec.groovy |   19 +-
 .../TestMethodDecoratingTransformation.groovy      |   88 --
 .../ThrowingConstructorTestTransformation.groovy   |   44 -
 .../groovy/grails/gorm/rx/CriteriaBuilder.groovy   |   23 +-
 .../groovy/grails/gorm/rx/DetachedCriteria.groovy  |  160 +--
 .../main/groovy/grails/gorm/rx/MultiTenant.groovy  |    3 +-
 .../grails/gorm/rx/PersistentObservable.java       |    1 +
 .../src/main/groovy/grails/gorm/rx/RxEntity.groovy |   34 +-
 .../grails/gorm/rx/api/RxGormAllOperations.groovy  |    2 +-
 .../gorm/rx/api/RxGormInstanceOperations.groovy    |    4 +-
 .../grails/gorm/rx/api/RxGormOperations.groovy     |    5 +-
 .../gorm/rx/api/RxGormStaticOperations.groovy      |   10 +-
 .../gorm/rx/collection/ObservableCollection.java   |    6 +-
 .../gorm/rx/collection/RxPersistentCollection.java |    4 +
 .../rx/collection/RxUnidirectionalCollection.java  |    1 +
 .../grails/gorm/rx/multitenancy/Tenants.groovy     |   72 +-
 .../grails/gorm/rx/proxy/ObservableProxy.java      |    1 +
 .../groovy/grails/gorm/rx/services/RxSchedule.java |   20 +-
 .../datastore/rx/AbstractRxDatastoreClient.groovy  |   82 +-
 .../grails/datastore/rx/RxDatastoreClient.groovy   |    6 +-
 .../datastore/rx/RxDatastoreClientAware.groovy     |    4 +-
 .../datastore/rx/batch/BatchOperation.groovy       |    2 +-
 .../datastore/rx/collection/RxCollection.groovy    |    3 +-
 .../rx/collection/RxCollectionUtils.groovy         |    5 +-
 .../rx/collection/RxPersistentList.groovy          |   24 +-
 .../datastore/rx/collection/RxPersistentSet.groovy |   24 +-
 .../rx/collection/RxPersistentSortedSet.groovy     |   25 +-
 .../exceptions/BlockingOperationException.groovy   |    1 +
 .../internal/RxDatastoreClientImplementor.groovy   |    3 +-
 .../AbstractObservableProxyMethodHandler.java      |   27 +-
 .../proxy/IdQueryObservableProxyMethodHandler.java |   30 +-
 .../IdentifierObservableProxyMethodHandler.java    |   26 +-
 .../grails/datastore/rx/proxy/ProxyFactory.java    |    5 +-
 .../proxy/QueryObservableProxyMethodHandler.java   |   22 +-
 .../rx/proxy/RxJavassistProxyFactory.java          |   46 +-
 .../grails/datastore/rx/query/QueryState.groovy    |   17 +-
 .../org/grails/datastore/rx/query/RxQuery.groovy   |    2 +
 .../grails/datastore/rx/query/RxQueryUtils.groovy  |   32 +-
 .../datastore/rx/query/event/PostQueryEvent.groovy |    1 +
 .../org/grails/gorm/rx/api/RxGormEnhancer.groovy   |   39 +-
 .../grails/gorm/rx/api/RxGormInstanceApi.groovy    |    2 +
 .../org/grails/gorm/rx/api/RxGormStaticApi.groovy  |   55 +-
 .../grails/gorm/rx/api/RxGormValidationApi.groovy  |    6 +-
 .../TenantDelegatingRxGormOperations.groovy        |    4 +-
 .../org/grails/gorm/rx/config/Settings.groovy      |    3 +-
 .../rx/events/AutoTimestampEventListener.groovy    |    9 +-
 .../gorm/rx/events/DomainEventListener.groovy      |    7 +-
 .../gorm/rx/events/MultiTenantEventListener.groovy |   39 +-
 .../gorm/rx/events/ValidationEventListener.groovy  |   11 +-
 .../grails/gorm/rx/finders/CountByFinder.groovy    |   17 +-
 .../gorm/rx/finders/FindAllByBooleanFinder.groovy  |    5 +-
 .../grails/gorm/rx/finders/FindAllByFinder.groovy  |    7 +-
 .../gorm/rx/finders/FindByBooleanFinder.groovy     |    5 +-
 .../org/grails/gorm/rx/finders/FindByFinder.groovy |    7 +-
 .../gorm/rx/finders/FindOrCreateByFinder.groovy    |   32 +-
 .../gorm/rx/finders/FindOrSaveByFinder.groovy      |    3 +-
 .../implementers/ObservableResultAdapter.groovy    |   41 +-
 .../ObservableServiceImplementerAdapter.groovy     |    7 +-
 .../implementers/SingleResultAdapter.groovy        |   35 +-
 .../rx/services/support/RxServiceSupport.groovy    |    2 +
 .../org/grails/gorm/rx/transform/RxAstUtils.groovy |   28 +-
 .../rx/transform/RxScheduleIOTransformation.groovy |   65 +-
 .../grails/gorm/rx/CriteriaBuilderSpec.groovy      |  280 -----
 .../grails/gorm/rx/DetachedCriteriaSpec.groovy     |  665 -----------
 .../test/groovy/grails/gorm/rx/RxEntitySpec.groovy |   81 --
 .../grails/gorm/rx/multitenancy/TenantsSpec.groovy |  309 -----
 .../rx/AbstractRxDatastoreClientSpec.groovy        | 1087 -----------------
 .../datastore/rx/batch/BatchOperationSpec.groovy   |  169 ---
 .../rx/collection/RxCollectionUtilsSpec.groovy     |  122 --
 .../rx/collection/RxPersistentListSpec.groovy      |  158 ---
 .../rx/collection/RxPersistentSetSpec.groovy       |  176 ---
 .../rx/collection/RxPersistentSortedSetSpec.groovy |  204 ----
 .../BlockingOperationExceptionSpec.groovy          |   37 -
 ...AbstractObservableProxyMethodHandlerSpec.groovy |  279 -----
 .../IdQueryObservableProxyMethodHandlerSpec.groovy |  153 ---
 ...entifierObservableProxyMethodHandlerSpec.groovy |  122 --
 .../QueryObservableProxyMethodHandlerSpec.groovy   |  129 ---
 .../rx/proxy/RxJavassistProxyFactorySpec.groovy    |  184 ---
 .../datastore/rx/query/QueryStateSpec.groovy       |  121 --
 .../datastore/rx/query/RxQueryUtilsSpec.groovy     |  439 -------
 .../rx/query/event/PostQueryEventSpec.groovy       |   50 -
 .../grails/gorm/rx/api/RxGormEnhancerSpec.groovy   |  252 ----
 .../gorm/rx/api/RxGormInstanceApiSpec.groovy       |  139 ---
 .../grails/gorm/rx/api/RxGormStaticApiSpec.groovy  | 1221 --------------------
 .../gorm/rx/api/RxGormValidationApiSpec.groovy     |   91 --
 .../TenantDelegatingRxGormOperationsSpec.groovy    |  654 -----------
 .../events/AutoTimestampEventListenerSpec.groovy   |  147 ---
 .../gorm/rx/events/DomainEventListenerSpec.groovy  |  129 ---
 .../rx/events/MultiTenantEventListenerSpec.groovy  |  344 ------
 .../rx/events/ValidationEventListenerSpec.groovy   |  133 ---
 .../gorm/rx/finders/CountByFinderSpec.groovy       |  140 ---
 .../rx/finders/FindAllByBooleanFinderSpec.groovy   |   96 --
 .../gorm/rx/finders/FindAllByFinderSpec.groovy     |  146 ---
 .../gorm/rx/finders/FindByBooleanFinderSpec.groovy |   86 --
 .../grails/gorm/rx/finders/FindByFinderSpec.groovy |  133 ---
 .../rx/finders/FindOrCreateByFinderSpec.groovy     |  185 ---
 .../gorm/rx/finders/FindOrSaveByFinderSpec.groovy  |  114 --
 .../ObservableResultAdapterSpec.groovy             |  415 -------
 .../implementers/SingleResultAdapterSpec.groovy    |  357 ------
 .../services/support/RxServiceSupportSpec.groovy   |  118 --
 .../grails/gorm/rx/transform/RxAstUtilsSpec.groovy |  111 --
 .../rx/transform/RxScheduleTransformSpec.groovy    |  178 ---
 .../compiler/gorm/GormTransformerSpec.groovy       |  148 ---
 .../gorm/plugin/support/ConfigSupportSpec.groovy   |   56 -
 .../proxy/EntityProxyHandlerAdapterSpec.groovy     |  129 ---
 .../gorm/proxy/ProxyHandlerAdapterSpec.groovy      |  112 --
 ...gregatePersistenceContextInterceptorSpec.groovy |  196 ----
 .../grailsversion/GrailsVersionCurrentSpec.groovy  |   45 -
 .../core/grailsversion/GrailsVersionSpec.groovy    |   18 +-
 grails-doc/src/en/guide/conf/config.adoc           |    5 +
 grails-doc/src/en/guide/deployment.adoc            |   27 +-
 .../en/guide/deployment/deploymentContainer.adoc   |   52 +-
 .../guide/deployment/deploymentLayeredBuilds.adoc  |  245 ++++
 .../en/guide/deployment/deploymentStandalone.adoc  |  116 +-
 .../src/en/guide/deployment/deploymentTasks.adoc   |  197 +++-
 grails-doc/src/en/guide/index.adoc                 |   25 +-
 grails-doc/src/en/guide/toc.yml                    |    5 +-
 .../command/CreateInterceptorCommandSpec.groovy    |    2 +-
 .../plugin/commands/GrailsCliGradlePlugin.groovy   |   31 +-
 .../plugin/commands/MainClassRequiredSpec.groovy   |   31 +-
 .../test-projects/main-class-required/build.gradle |    9 +
 .../gradle.properties                              |    0
 .../main-class-required/settings.gradle            |    1 +
 .../test/groovy/demo/TestInterceptorSpec.groovy    |    2 +-
 .../org/demo/spock/PerTestRecordingSpec.groovy     |    6 +-
 .../test/groovy/demo/TestInterceptorSpec.groovy    |    2 +-
 .../test/mixin/ControllerUnitTestMixinTests.groovy |   20 +
 .../test/mixin/InterceptorUnitTestMixinSpec.groovy |   49 +
 .../test/mixin/UrlMappingsTestMixinTests.groovy    |   17 +
 .../servlet/mvc/TagLibDynamicMethodsTests.groovy   |    9 +-
 ...UrlMappingsWithNonPublicConstructorSpec.groovy} |   33 +-
 .../testing/ParameterizedGrailsUnitTest.groovy     |   19 +-
 .../grails/testing/web/GrailsWebUnitTest.groovy    |   65 +-
 .../grails/testing/web/UrlMappingsUnitTest.groovy  |  104 +-
 .../web/controllers/ControllerUnitTest.groovy      |   21 +-
 .../web/interceptor/InterceptorUnitTest.groovy     |   47 +-
 .../testing/web/taglib/TagLibUnitTest.groovy       |   44 +-
 settings.gradle                                    |    8 +-
 threat-model.yaml                                  |    2 +-
 284 files changed, 3687 insertions(+), 19331 deletions(-)
 create mode 100644 build-logic/plugins/src/test/groovy/org/apache/grails/buildsrc/GrailsRepoSettingsPluginSpec.groovy
 delete mode 100644 grails-core/src/test/groovy/org/grails/compiler/injection/EntityASTTransformationSpec.groovy
 delete mode 100644 grails-data-graphql/core/src/test/groovy/org/grails/gorm/graphql/testing/MockDataFetchingEnvironmentSpec.groovy
 delete mode 100644 grails-data-graphql/core/src/test/groovy/org/grails/gorm/graphql/types/output/AbstractObjectTypeBuilderSpec.groovy
 delete mode 100644 grails-data-graphql/core/src/test/groovy/org/grails/gorm/graphql/types/output/inheritance/Animal.groovy
 delete mode 100644 grails-data-graphql/core/src/test/groovy/org/grails/gorm/graphql/types/output/inheritance/Dog.groovy
 delete mode 100644 grails-data-graphql/core/src/test/groovy/org/grails/gorm/graphql/types/output/inheritance/InheritancePackage.groovy
 delete mode 100644 grails-data-hibernate5/grails-plugin/src/test/groovy/grails/plugin/hibernate/HibernateGrailsPluginSpec.groovy
 create mode 100644 grails-data-hibernate7/grails-plugin/src/test/groovy/org/grails/plugin/hibernate/support/AggregatePersistenceContextInterceptorSpec.groovy
 delete mode 100644 grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializerUnitSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/CriteriaBuilderIntegrationSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/bootstrap/AbstractDatastoreInitializerSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/bootstrap/TestDatastoreInitializer.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/events/AutoTimestampEventListenerConstructionSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/events/DefaultApplicationEventPublisherSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/events/DomainEventListenerSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/query/criteria/AbstractDetachedCriteriaSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/query/criteria/TestEntity.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/services/implementers/AbstractSaveImplementerSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/timestamp/AggregateTimestampProviderSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/transactions/transform/RollbackTransformSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/transform/AbstractDatastoreMethodDecoratingTransformationSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/transform/AbstractMethodDecoratingTransformationSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/transform/ApplyTestMethodDecorating.java
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/transform/ApplyThrowingConstructorGormTransform.java
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/transform/AstMethodDispatchUtilsSpec.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/transform/TestMethodDecoratingTransformation.groovy
 delete mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/transform/ThrowingConstructorTestTransformation.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/grails/gorm/rx/CriteriaBuilderSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/grails/gorm/rx/DetachedCriteriaSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/grails/gorm/rx/RxEntitySpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/grails/gorm/rx/multitenancy/TenantsSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/AbstractRxDatastoreClientSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/batch/BatchOperationSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/collection/RxCollectionUtilsSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/collection/RxPersistentListSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/collection/RxPersistentSetSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/collection/RxPersistentSortedSetSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/exceptions/BlockingOperationExceptionSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/proxy/AbstractObservableProxyMethodHandlerSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/proxy/IdQueryObservableProxyMethodHandlerSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/proxy/IdentifierObservableProxyMethodHandlerSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/proxy/QueryObservableProxyMethodHandlerSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/proxy/RxJavassistProxyFactorySpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/query/QueryStateSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/query/RxQueryUtilsSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/datastore/rx/query/event/PostQueryEventSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/api/RxGormEnhancerSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/api/RxGormInstanceApiSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/api/RxGormStaticApiSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/api/RxGormValidationApiSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/api/multitenancy/TenantDelegatingRxGormOperationsSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/events/AutoTimestampEventListenerSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/events/DomainEventListenerSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/events/MultiTenantEventListenerSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/events/ValidationEventListenerSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/finders/CountByFinderSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/finders/FindAllByBooleanFinderSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/finders/FindAllByFinderSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/finders/FindByBooleanFinderSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/finders/FindByFinderSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/finders/FindOrCreateByFinderSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/finders/FindOrSaveByFinderSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/services/implementers/ObservableResultAdapterSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/services/implementers/SingleResultAdapterSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/services/support/RxServiceSupportSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/transform/RxAstUtilsSpec.groovy
 delete mode 100644 grails-datamapping-rx/src/test/groovy/org/grails/gorm/rx/transform/RxScheduleTransformSpec.groovy
 delete mode 100644 grails-datamapping-support/src/test/groovy/org/grails/compiler/gorm/GormTransformerSpec.groovy
 delete mode 100644 grails-datamapping-support/src/test/groovy/org/grails/datastore/gorm/plugin/support/ConfigSupportSpec.groovy
 delete mode 100644 grails-datamapping-support/src/test/groovy/org/grails/datastore/gorm/proxy/EntityProxyHandlerAdapterSpec.groovy
 delete mode 100644 grails-datamapping-support/src/test/groovy/org/grails/datastore/gorm/proxy/ProxyHandlerAdapterSpec.groovy
 delete mode 100644 grails-datamapping-support/src/test/groovy/org/grails/datastore/gorm/support/AggregatePersistenceContextInterceptorSpec.groovy
 delete mode 100644 grails-datamapping-support/src/test/groovy/org/grails/datastore/mapping/core/grailsversion/GrailsVersionCurrentSpec.groovy
 rename {grails-datastore-core => grails-datamapping-support}/src/test/groovy/org/grails/datastore/mapping/core/grailsversion/GrailsVersionSpec.groovy (88%)
 create mode 100644 grails-doc/src/en/guide/deployment/deploymentLayeredBuilds.adoc
 copy grails-data-graphql/core/src/main/groovy/org/grails/gorm/graphql/fetcher/interceptor/QueryInterceptorInvoker.groovy => grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/commands/MainClassRequiredSpec.groovy (50%)
 create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/main-class-required/build.gradle
 copy grails-gradle/plugins/src/test/resources/test-projects/{auto-apply-bom-disabled => main-class-required}/gradle.properties (100%)
 create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/main-class-required/settings.gradle
 copy grails-test-suite-web/src/test/groovy/grails/test/mixin/{UrlMappingsTestForTests.groovy => UrlMappingsWithNonPublicConstructorSpec.groovy} (62%)