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

jamesfredley pushed a change to branch issue-13752-upgrade-jansi-jline
in repository https://gitbox.apache.org/repos/asf/grails-core.git


    from 65da396201 Merge branch '8.0.x' into issue-13752-upgrade-jansi-jline
     add 7ac3109e0e deprecate: mark Spring JSP theme support for removal in 
Grails 8.0.0
     add 15bf44dbc6 Merge pull request #15457 from 
apache/deprecate/jsp-theme-features
     add 4299a24bca fix: set implicitThis=false on delegate 
MethodCallExpressions in DetachedCriteriaTransformer
     add 8d50b750a3 fix: correct misleading Javadoc on findBooksByTitleReadOnly 
method
     add 88252a0436 Merge pull request #15448 from 
jamesfredley/fix/where-query-transactional-variable-scope
     add 3316694856 test: add multi-datasource static API routing tests across 
unit, TCK, and functional test suites
     add a6ddb5b706 Merge branch '7.0.x' into test/static-api-datasource-routing
     add 480086cee7 fix: address review comments on static API datasource 
routing tests
     add 5ba6188f84 Merge pull request #15435 from 
apache/test/static-api-datasource-routing
     add 044201f3fc test(tck): add Data Service connection routing specs to TCK
     add 35006ab0a5 test(tck): add domain-level and cross-layer 
multi-datasource specs
     add 6dbeaa47ba refactor(tests): replace GormEnhancer with public GORM 
domain API in Domain*Spec TCK tests
     add 4cba7f600d test: isolate MongoDbDataStoreSpringInitializerSpec from 
TCK data service classpath pollution
     add f904ca8a41 revert: remove production code filter from 
AbstractDatastoreInitializer
     add f7f3696314 refactor(tests): replace GormEnhancer with public GORM 
domain API in all new TCK specs
     add 8aeb47e9cc style: fix consecutive blank lines in TCK specs
     add a1cd973eac fix: add missing GrailsDataTckSpec import to 
non-multi-tenant TCK specs
     add 68023894c1 Merge pull request #15429 from 
apache/test/tck-data-service-connection-routing
     add d9451d971e docs: add Data Services and GormEnhancer documentation for 
multi-datasource routing
     add 955f1435e8 docs: add Data Services multi-datasource section to GORM 
Hibernate5 docs
     add 1b9b785cf7 docs: update multi-datasource docs for @CompileStatic 
injection, MultiTenant routing, and CRUD connection fixes
     add 06b04da429 docs: include @Where, @Query, and DetachedCriteria in 
routed methods list
     add 9246901cbe docs: replace GormEnhancer.findStaticApi() with domain 
static methods
     add 14bde8954f docs: remove remaining GormEnhancer references and fix 
autowiring description
     add b630a89710 Merge pull request #15406 from 
jamesfredley/docs/multi-datasource-data-services
     add f59f9371af fix: flaky ersatz listener test due to async race condition
     add bcca4dd2ba Merge pull request #15455 from 
apache/fix/flaky-ersatz-listener-test
     add 8fad2d4803 Add a new feature that assists in database truncation in 
tests
     add 4b10c1dde7 Add postgresql clean up support
     add 9d44bc0031 Ensure cleanup runs even if the clean methods fail on the 
spec
     add 47dfa5f836 Add detailed timing to debug stats
     add ccb37bb363 fix ordering & resolution of applicaiton context without 
depending on grails-core
     add c1e8230e06 windows & mac os agents can't run this test in CI since 
they don't have docker
     add 6e7494dc5d Clean up
     add b5b8ecc691 Expand test coverage for cleaner validations
     add c5570fcb97 Dependency cleanup
     add bdca07627b Postgresql cleaner cleanup
     add 28056b25a6 Clean up postgresql cleaner
     add 1b7d204ba6 feedback: spelling typo
     add 9794c9aad9 feedback: add postgresql cleanup library
     add f2c07512bb feedback: dedupe
     add aa84dd3716 cleanup readme since documentation in grails doc
     add ba3a4ab8f3 add missing publish to the postgresql project
     add 588eab185a style: groovy cleanup
     add 3dfc3d6544 refactor: rename to `grails-testing-support-dbcleanup-*`
     add 711f3ce910 fix: remove string escape from error message
     add 8560aeed69 feedback: use for instead of each
     add ca37457782 chore: style compliance
     add 8dd5dc3fa5 Merge pull request #15453 from 
apache/database-cleanup-feature-feedback
     add a0e1b37bff Merge pull request #15436 from 
apache/database-cleanup-feature
     add afffd57064 fix: extend OSIV to manage sessions for all datasources
     add 90f9ff78ca fix: harden afterCompletion to guarantee default session 
cleanup
     add f22dc661a4 fix: add connection name to OSIV logs and Geb integration 
test
     add c58749595f fix: use findByTitle for test isolation in OSIV Geb test
     add 518ac1ad9c fix: accumulate flush exceptions across additional 
datasource sessions
     add b329022970 Merge branch '7.0.x' into fix/multi-datasource-osiv
     add d97e5a17b8 fix: add debug logging for suppressed flush exceptions in 
OSIV interceptor
     add 314539fa93 Merge pull request #15425 from 
apache/fix/multi-datasource-osiv
     add 03747c5f3e Fix DetachedCriteria join handling for get() in Hibernate
     add ddae6ee795 Auto-create aliases for joined association projections
     add 85b8658c52 adding one more test spec
     add d15b5c0175 Add test coverage for DetachedCriteria join fix
     add e16bf85370 Merge pull request #15456 from 
apache/fix-detachedcriteria-join-get
     add ba70c5fb1a Adopt AntBuilder groovydoc with javaVersion support (#15420)
     add e010807f82 prioritize a non-namespaced controller when no namespace is 
defined
     add a0903ad6b2 Merge pull request #15464 from 
codeconsole/7.0.x-urlmappings-namespace-fix
     add be27f2b6ca refactor(tests): replace GormEnhancer.find*Api calls with 
public GORM APIs
     add fe6f365aea fix(tests): use named-datasource instance API to 
save/delete in WhereQueryConnectionRoutingSpec
     add 8fad55d728 Merge branch '7.0.x' into 
refactor/remove-gorm-enhancer-from-tests
     add 303415c6bd fix(style): add trailing newline to 
WhereQueryConnectionRoutingSpec; strengthen DeepValidateWithSaveSpec
     add 3803e27b51 Revert neo4j ValidationSpec change per review feedback
     add da9d7f5dcc Merge branch '7.0.x' into 
refactor/remove-gorm-enhancer-from-tests
     add 33dd399a5c Merge pull request #15441 from 
apache/refactor/remove-gorm-enhancer-from-tests
     add 7556404b08 Add no-grouping-comments rule to AGENTS.md Groovy style 
guide
     add 0de59de39b Merge pull request #15466 from 
apache/docs/agents-no-grouping-comments
     add 3e9a6219a7 Fix composite ID criteria projection regression (#14516)
     add 020e56a86f Wrap rethrown exception to preserve stack trace and add eq 
test
     add a622755a7c Add Hibernate proxy test for composite ID criteria query
     add 366521e054 Merge pull request #15462 from 
apache/fix/composite-id-criteria-14516
     add f8738317c8 fix: propagate LEFT JOIN from DetachedCriteria into 
subqueries (#14485)
     add 9f2f875816 Fix checkstyle import order and remove unused test entities
     add f84c343863 Merge pull request #15461 from apache/fix/where-query-bugs-2
     add 164063b256 Merge pull request #15468 from apache/7.0.x
     add 5ef6e7bfbc Fix basic collection type 'in' query (#14610)
     add 150f6ebcc8 Fix checkstyle import order, prevent duplicate alias, and 
preserve original property name
     add 9b5991c63d Merge branch '7.0.x' into fix/basic-collection-in-14610
     add 2ad24be2cf Fix createAlias to populate aliasMap, preventing duplicate 
alias on basic collections
     add e30b8c5d9b Merge pull request #15463 from 
apache/fix/basic-collection-in-14610
     add 87782246bd fix: resolve three where-query bugs (#14344, #14480, #14569)
     add 04a15b4e19 Merge branch '7.0.x' into fix/where-query-bugs
     add 08bee01c94 Remove unused imports from 
WhereQueryOldIssueVerificationSpec
     add 1858c235b2 Remove section grouping comment from test spec
     add e01dd23e09 Add log.warn() for DetachedCriteria.count() projection 
fallback
     add 791b6250cb Merge branch '7.0.x' into fix/where-query-bugs
     add 0f33370ac3 Merge pull request #15460 from 
jamesfredley/fix/where-query-bugs
     add dd16c5e09b fix: remove @PendingFeature from basic collection test now 
that #14610 is fixed
     add a06aa3ddef Merge pull request #15471 from 
apache/fix/remove-pending-feature-basic-collection
     add a6eec2ac73 Initial work for TestFramework->DevelopmentReloading
     add 3dbd335dbf Merge remote-tracking branch 'upstream/7.0.x' into 
forgeReloadingChanges
     add 811fadb311 Test coverage & handle converting testFramework to 
reloading defaults
     add 4cc3579d84 fix reloading defaults
     add 051b8c0c2f Update spring boot dev tools test
     add 335091564d Merge pull request #15437 from apache/forgeReloadingChanges
     add 84bdc3a8e2 Merge branch '7.0.x' into 7.1.x
     add f81c133219 Merge branch '7.1.x' into 8.0.x
     add 19e8479367 feat: auto-inherit datasource from domain class in @Service 
data services
     add c0abe45b4f Merge remote-tracking branch 'origin/7.1.x' into 
feat/data-service-datasource-inheritance
     add 3a664223b0 fix: address review feedback for datasource inheritance 
feature
     add 2c44846a76 docs: add cross-reference for datasource inheritance in 
transactions guide
     add a7367da5fc Merge branch '7.1.x' into 
feat/data-service-datasource-inheritance
     add 19205e6657 fix: generate connection-aware getTransactionManager() in 
ServiceTransformation for inherited datasource services
     add 38e1cd3467 Merge branch '7.1.x' into 
feat/data-service-datasource-inheritance
     add 1f2d09d4d3 test: isolate MongoDbDataStoreSpringInitializerSpec from 
data service classpath pollution
     add f8419731d4 Use Inventory.warehouse namespace syntax instead of 
GormEnhancer internal API in test
     add 719add4742 Merge remote-tracking branch 'origin/7.1.x' into 
feat/data-service-datasource-inheritance
     add 5274f5c9da fix: typo
     add 6329452302 style: groovy and dry
     add a847edc85d style: codenarc issues
     add 5565e9a952 Merge pull request #15433 from 
apache/feat/data-service-datasource-inheritance
     add 175203af4e Merge pull request #15472 from apache/7.1.x
     add b2aee98886 fix: add null safety for getDatastoreForConnection in data 
service factory bean
     add c19791805b test: add unit tests for 
DatastoreServiceMethodInvokingFactoryBean.resolveEffectiveDatastore()
     add 53e05d7cf2 fix: make test inner classes accessible to ServiceLoader
     add aa15462d43 Fix DomainService breaking DefaultServiceRegistrySpec via 
ServiceLoader
     add 9fdc3bee48 Merge pull request #15474 from 
apache/fix/dataservice-null-datastore-guard
     add ee71bbbff5 Fix: Disable publishing of /guide/pages/** in 
grails-doc/build.gradle
     add 1d3dac0c92 chore(deps): bump actions/upload-artifact from 6.0.0 to 
7.0.0
     add 3987f0613a Merge pull request #15479 from 
apache/dependabot/github_actions/actions/upload-artifact-7.0.0
     add 2c25039a66 fix: correct malformed Javadoc link tag in 
DatastoreServiceMethodInvokingFactoryBean
     add 33f8856de3 Merge pull request #15473 from apache/fix/javadoc-link-typo
     add d1bfa2a46d Merge branch '7.0.x' into 
fix/issue-14986-disable-pages-publishing
     add fca780af34 docs: add comment explaining page fragment exclusion
     add 2c002d3ff4 Merge pull request #15477 from 
mika-collins/fix/issue-14986-disable-pages-publishing
     add 87a4e39c9d Fix flaky AsyncPromiseSpec ReadTimeoutException on CI
     add 6434979f82 Merge pull request #15481 from 
apache/fix/async-promise-spec-read-timeout
     add 7ea2132bc1 Improve Groovy Joint Validation Build CI stability
     add d46b5f6436 Merge pull request #15484 from 
apache/fix/groovy-joint-ci-stability
     add 56663814ed Fix flaky Ersatz empty response body test with @Retry
     add b55862b85d Merge pull request #15485 from 
apache/fix/ersatz-roundtrip-connection-reset
     add 7b074a92fd [skip ci] Release v7.0.8
     add f37c0f9a43 [skip ci] Bump version to 7.0.9-SNAPSHOT
     add 8af62c27c1 Merge pull request #15487 from apache/merge-back-7.0.8
     add 23bd89d4e3 feat: centralize Checkstyle and Codenarc report output to a 
single directory
     add f56a42896b feat: enable Codenarc XML report output
     add 8b83a47de1 feat: publish Checkstyle and Codenarc report in GitHub 
Actions job summary
     add 9089e48f83 Merge pull request #15486 from 
mika-collins/feat/issue-15088-consolidate-codestyle-reports
     add 2c37a73a21 Ignore sbom.json during cache key computation
     add 18abe31ca8 Migrate GroovyDoc doFirst to a configuration task
     add a9069ca6b3 Move sbom.json normalization to SbomPlugin
     add 45492d4ca1 Merge pull request #15483 from jprinet/7.0.x
     add 3b02911e65 fix #15491 - Bug: DetachedCriteria.distinct().property() 
projections exclude rows where the projected property value is null
     add 6568dabc4b Merge pull request #15492 from 
apache/bug-detached-criteria-distinct
     add ba53a44ec9 build: add setup-testlens action
     add a2d2161d0c Merge pull request #15499 from testlens-app/setup-testlens
     add 891bf1aabf hibernate 5: 1 Exclude jaxb-api and redundant 
liquibase-core from dbmigration 2 Exclude javax.xml.bind:jaxb-api from 
liquibase-core for Jakarta EE 10 compliance and remove redundant liquibase-core 
from the liquibase-hibernate5 extension.
     add a9731f4398 Merge pull request #15490 from 
apache/7.0.x-liquibase-remove-legacy-jars
     add fe92876a90 15501 - support binding to dataSourceProperties as well as 
dbProperties
     add 71578fd6b5 15501 - fix nesting properties - they should be flatten
     add d789618d6a 15501 - feature - support healthCheckProperties & 
dataSourceProperties as config keys
     add a5dcc9811e 15501 - codestyle - reformatting file
     add b7a9e9863b Add comprehensive HikariCP pool property binding tests
     add 69c6cf89fd Merge pull request #15503 from 
apache/15501-enhance-datasource-properties-tests
     add c7e54fb14c Merge pull request #15502 from 
apache/15501-fix-datasource-properties
     add 43be3c1859 feature - support cleaning up only after the spec ends
     add 0a3695c40b doc - add docs for feature
     add d69b58cd80 Merge pull request #15494 from 
apache/feature/dbcleanup-end-of-spec
     add cc72ad504b fix: fix flaky scaffolding Geb tests and 
User.getAuthorities() bug
     add a7a7ff9a72 Merge pull request #15480 from 
apache/fix/scaffolding-test-flaky-login
     add de7659e64e build - add a gradle task to facilitate publishing all 
projects for easier testing locally.
     add 06b293a82d refactor: suggestions for publishAllToMavenLocal
     add a1ddb4e647 Merge pull request #6 from 
matrei/matrei/suggestions-for-15493
     add d77461e0ad Merge pull request #15493 from jdaugherty/7.0.x
     add c7dace8b40 Merge branch '7.0.x' into 7.1.x
     add 523b168e6b fix release process - update to the latest action-gh-release
     add 62c391e4e4 Merge branch '7.0.x' into 7.1.x
     add 52d78d22f1 Merge branch '7.1.x' into 8.0.x
     add 7e3a862520 fix: normalize Unicode minus sign to ASCII in GSP number 
formatting for locale compatibility
     add f26b1d70a9 test: add functional tests for locale-aware negative number 
formatting
     add 7ea205bba6 fix: scope Unicode minus normalization to input rendering 
only
     add 8b5d630651 Merge branch '7.1.x' into fix/negative-number-locale-15178
     add 37b7834a68 Merge pull request #15475 from 
apache/fix/negative-number-locale-15178
     add 855a8523e1 deprecate: grails.validation.ConstraintEvaluator
     add da2d201457 deprecate: Mixins
     add 3336212ec1 undeprecate: grails.testing.spock.OnceBefore
     add 4d0d9d00d6 deprecate: PropertyConfig.updateable
     add 0855d930ae deprecate: MongoEntity.getDbo()
     add ce3d137cf0 deprecate: grails-events-compat
     add 799480177d deprecate: named queries
     add cddad098d5 deprecate: ApplicationTagLib.createLinkTo
     add 44f8347a2a deprecate: FormTagLib.actionSubmit
     add 847d5a280a deprecate: FormFieldsTagLib.input
     add af51e74b94 deprecate: BeanPropertyAccessor.getBeanClass()
     add c05eea63f8 deprecate: areAssociationsDirty (with session)
     add 2690996bac deprecate: Entity.ALL_DATA_SOURCES, DEFAULT_DATA_SOURCE
     add 99e1223e12 deprecate: Constrained.isDisplay
     add ed0e20b1dc deprecate: Metadata get and getProperty
     add 3fa95f3869 deprecate: GrailsConfigUtils.executeGrailsBootstraps
     add 67e3ab1d1a deprecate: AetherGrapeEngine
     add cff5156694 deprecate: GrailsApplication constants
     add 39c604498b deprecate: ArefactTypeAstTransformation method
     add 963d1d237e style: codenarc issues
     add 23d0ae568f deprecate: remove forked json classes
     add d374fbdd18 deprecate: `grails.web.JSONBuilder`
     add c54cacc0f9 Merge pull request #15470 from apache/deprecate-for-removal
     add e689589a60 [skip ci] Release v7.0.9
     add 61040f0222 [skip ci] Bump version to 7.0.10-SNAPSHOT
     add 01bbf40e9a Merge pull request #15511 from apache/merge-back-7.0.9
     add 8b7cb2e8a9 chore(deps): bump softprops/action-gh-release from 2.5.0 to 
2.6.1
     add 519685916d Merge pull request #15508 from 
apache/dependabot/github_actions/softprops/action-gh-release-2.6.1
     add 88f90279d1 chore(deps): bump release-drafter/release-drafter from 6 to 
7
     add e90ad3fddb Merge pull request #15507 from 
apache/dependabot/github_actions/release-drafter/release-drafter-7
     add 7353f08c5e make sure the DatabaseCleanup annotation is inherited
     add a1846c5ecd Merge pull request #15513 from 
apache/inherittedDatabasecleanup
     add b0250102d2 #15506 - fix - @CompileStatic support for tag libs
     add 9b16d4a964 Merge pull request #15514 from 
apache/gsp-taglib-compilestatic
     add 5df43a4f5d new module `grails-testing-support-http-client`
     add 576c96fdc1 feedback: new iteration
     add b2cfb82db3 ci: add `getAtCheckWaiting` to groovy joint workflow
     add fe185c3ff4 test: use `GroovyErsatzServer`
     add 4bf017a511 test: enable TeamSpec test in CI
     add 7a253b9115 Merge pull request #15505 from 
apache/matrei/7.0.x-http-client-testing-support
     add 8959380ab8 build: enable running single tests with --tests flag
     add b4ee9d9b7d Merge pull request #15517 from 
apache/matrei/uber-tests-build
     add 6cf5fea99d Merge remote-tracking branch 'origin/7.0.x' into 
merge/7.0.x-into-7.1.x
     add 2c0ecc1776 Merge pull request #15520 from apache/merge/7.0.x-into-7.1.x
     add 10f71f9729 Merge remote-tracking branch 'origin/7.1.x' into 
merge/7.1.x-into-8.0.x
     add cee6619f4a Merge pull request #15521 from apache/merge/7.1.x-into-8.0.x
     add 640cc8e0e8 Merge branch '8.0.x' into issue-13752-upgrade-jansi-jline

No new revisions were added by this update.

Summary of changes:
 .github/workflows/codestyle.yml                    |   61 +-
 .github/workflows/forge-deploy-next.yml            |    6 +
 .github/workflows/forge-deploy-prev-snapshot.yml   |    6 +
 .github/workflows/forge-deploy-prev.yml            |    6 +
 .github/workflows/forge-deploy-release.yml         |    6 +
 .github/workflows/forge-deploy-snapshot.yml        |    6 +
 .github/workflows/gradle.yml                       |   34 +-
 .github/workflows/groovy-joint-workflow.yml        |    8 +
 .github/workflows/rat.yml                          |    4 +-
 .github/workflows/release-notes.yml                |    2 +-
 .github/workflows/release.yml                      |   10 +-
 AGENTS.md                                          |    4 +
 build-logic/plugins/build.gradle                   |    8 +
 .../buildsrc/GrailsCodeStyleExtension.groovy       |    9 +
 .../grails/buildsrc/GrailsCodeStylePlugin.groovy   |   19 +
 .../grails/buildsrc/GrailsGroovydocPlugin.groovy   |   40 +-
 .../buildsrc/GroovydocEnhancerExtension.groovy     |  108 ++
 .../grails/buildsrc/GroovydocEnhancerPlugin.groovy |  180 +++
 .../org/apache/grails/buildsrc/SbomPlugin.groovy   |    8 +
 build.gradle                                       |   36 +
 gradle.properties                                  |    1 +
 gradle/docs-dependencies.gradle                    |   75 +-
 gradle/grails-data-tck-config.gradle               |    4 +-
 gradle/publish-root-config.gradle                  |    3 +
 .../src/main/groovy/grails/web/JSONBuilder.groovy  |    2 +-
 .../main/groovy/grails/core/GrailsApplication.java |    6 +-
 grails-core/src/main/groovy/grails/util/Mixin.java |    2 +-
 .../groovy/grails/util/MixinTargetAware.groovy     |    2 +-
 .../grails/validation/ConstraintsEvaluator.java    |    2 +-
 .../injection/ArtefactTypeAstTransformation.java   |    2 +-
 .../compiler/injection/MixinTransformation.java    |    2 +-
 grails-data-docs/stage/build.gradle                |   27 +-
 .../groovy/myapp/BarIntegrationSpec.groovy         |    3 +-
 .../groovy/myapp/FooIntegrationSpec.groovy         |    3 +-
 .../grails/orm/HibernateCriteriaBuilder.java       |   27 +
 .../grails/orm/hibernate/cfg/PropertyConfig.groovy |    5 +-
 .../query/AbstractHibernateCriteriaBuilder.java    |  102 +-
 .../hibernate/query/AbstractHibernateQuery.java    |  105 +-
 .../mapping/HibernateMappingBuilderTests.groovy    |   13 +-
 .../gorm/tests/BasicCollectionInQuerySpec.groovy   |  167 +++
 .../gorm/tests/DetachedCriteriaJoinSpec.groovy     |  124 ++-
 ...hedCriteriaProjectionNullAssociationSpec.groovy |  136 +++
 .../grails/gorm/tests/WhereQueryBugFixSpec.groovy  |  106 ++
 .../WhereQueryOldIssueVerificationSpec.groovy      |  371 +++++++
 .../tests/compositeid/CompositeIdCriteria.groovy   |   80 ++
 .../core/GrailsDataHibernate5TckManager.groovy     |   44 +
 .../DataServiceDatasourceInheritanceSpec.groovy    |  239 ++++
 .../DataServiceMultiDataSourceSpec.groovy          |   42 +-
 ...ataServiceMultiTenantMultiDataSourceSpec.groovy |   42 +-
 .../MultipleDataSourceConnectionsSpec.groovy       |   72 +-
 grails-data-hibernate5/dbmigration/build.gradle    |    5 +-
 grails-data-hibernate5/docs/build.gradle           |   43 +-
 .../multipleDataSources/dataSourceNamespaces.adoc  |    2 +
 .../docs/asciidoc/multipleDataSources/index.adoc   |    4 +
 .../docs/src/docs/asciidoc/services/index.adoc     |    5 +
 .../asciidoc/services/multipleDataSources.adoc     |  262 +++++
 grails-data-hibernate5/grails-plugin/build.gradle  |    1 +
 .../GrailsOpenSessionInViewInterceptor.java        |  138 ++-
 .../support/MultiDataSourceSessionSpec.groovy      |  193 ++++
 .../main/groovy/grails/mongodb/MongoEntity.groovy  |    2 +-
 .../mongodb/api/MongoInstanceOperations.groovy     |    5 +-
 .../datastore/gorm/mongo/api/MongoStaticApi.groovy |    2 +-
 .../MongoDbDataStoreSpringInitializerSpec.groovy   |   24 +-
 .../mongo/core/GrailsDataMongoTckManager.groovy    |   43 +
 grails-data-mongodb/docs/build.gradle              |   43 +-
 .../gorm/tests/DeepValidateWithSaveSpec.groovy     |   46 +-
 .../grails/gorm/tests/WhereMethodSpec.groovy       |   84 ++
 .../gorm/SaveWithFailOnErrorDefaultSpec.groovy     |   50 +-
 grails-datamapping-core/build.gradle               |    1 +
 .../groovy/grails/gorm/DetachedCriteria.groovy     |   22 +-
 .../org/grails/datastore/gorm/GormEnhancer.groovy  |   12 +-
 .../org/grails/datastore/gorm/GormEntity.groovy    |    4 +-
 .../datastore/gorm/finders/CountByFinder.java      |    1 +
 .../datastore/gorm/jdbc/DataSourceBuilder.java     |   64 +-
 .../datastore/gorm/query/NamedCriteriaProxy.groovy |    2 +-
 .../gorm/query/NamedQueriesBuilder.groovy          |    2 +
 .../transform/DetachedCriteriaTransformer.java     |   16 +-
 .../transform/ServiceTransformation.groovy         |  164 +++
 .../ConnectionRoutingServiceTransformSpec.groovy   |  216 ++++
 .../gorm/GormEnhancerAllQualifiersSpec.groovy      |   32 +
 .../gorm/jdbc/DataSourceBuilderSpec.groovy         |  927 ++++++++++++++++
 .../testing/tck/base/GrailsDataTckManager.groovy   |   16 +
 ...Item.groovy => DataServiceRoutingMetric.groovy} |   11 +-
 ...oovy => DataServiceRoutingMetricService.groovy} |   18 +-
 ...tem.groovy => DataServiceRoutingProduct.groovy} |    7 +-
 ...=> DataServiceRoutingProductDataService.groovy} |   18 +-
 ...ovy => DataServiceRoutingProductService.groovy} |   22 +-
 .../tck/tests/CrossLayerMultiDataSourceSpec.groovy |  148 +++
 ...CrossLayerMultiTenantMultiDataSourceSpec.groovy |  132 +++
 .../tests/DataServiceConnectionRoutingSpec.groovy  |  288 +++++
 ...aServiceMultiTenantConnectionRoutingSpec.groovy |  153 +++
 .../tck/tests/DomainMultiDataSourceSpec.groovy     |  180 +++
 .../DomainMultiTenantMultiDataSourceSpec.groovy    |  168 +++
 .../tests/WhereQueryConnectionRoutingSpec.groovy   |   36 +-
 .../grails/gorm/validation/Constrained.groovy      |    2 +-
 ...atastoreServiceMethodInvokingFactoryBean.groovy |  102 +-
 .../grails/datastore/mapping/config/Entity.groovy  |    8 +-
 .../datastore/mapping/core/AbstractSession.java    |    2 +-
 .../dirty/checking/DirtyCheckingSupport.groovy     |    2 +-
 .../mapping/query/jpa/JpaQueryBuilder.java         |   53 +
 ...toreServiceMethodInvokingFactoryBeanSpec.groovy |  174 +++
 grails-doc/build.gradle                            |   29 +-
 grails-doc/src/en/guide/commandLine.adoc           |    2 +-
 .../guide/conf/dataSource/multipleDatasources.adoc |  288 +++++
 grails-doc/src/en/guide/index.adoc                 |    6 +-
 grails-doc/src/en/guide/reference.adoc             |    4 +-
 .../transactionsMultiDataSource.adoc               |    4 +
 .../src/en/guide/testing/integrationTesting.adoc   |  179 +++
 .../src/en/ref/Database Mapping/insertable.adoc    |    4 +-
 .../{updateable.adoc => updatable.adoc}            |   10 +-
 .../GrailsDomainClassAutoConfiguration.groovy      |    1 +
 .../domain/support/ConstraintEvaluatorAdapter.java |    1 +
 .../src/main/groovy/grails/artefact/Service.groovy |    2 +-
 .../src/main/groovy/grails/events/Events.groovy    |    2 +-
 .../compat/src/main/groovy/reactor/bus/Bus.java    |    2 +-
 .../compat/src/main/groovy/reactor/bus/Event.java  |    2 +-
 .../src/main/groovy/reactor/bus/EventBus.groovy    |    2 +-
 .../reactor/bus/registry/Registration.groovy       |    2 +-
 .../reactor/bus/registry/Subscription.groovy       |    2 +-
 .../main/groovy/reactor/bus/selector/Selector.java |    2 +-
 .../src/main/groovy/reactor/fn/Consumer.java       |    2 +-
 .../spring/context/annotation/Consumer.groovy      |    1 +
 .../spring/context/annotation/Selector.groovy      |    1 +
 .../plugin/formfields/FormFieldsTagLib.groovy      |   13 +-
 .../plugin/formfields/BeanPropertyAccessor.groovy  |    2 +-
 .../formfields/BeanPropertyAccessorImpl.groovy     |    2 +
 .../DelegatingBeanPropertyAccessorImpl.groovy      |    2 +-
 .../plugin/formfields/PropertyPathAccessor.groovy  |    1 +
 .../formfields/DefaultInputRenderingSpec.groovy    |   22 +
 grails-forge/gradle/doc-config.gradle              |   45 +-
 .../analytics/postgres/AnalyticsController.java    |    8 +-
 .../forge/analytics/postgres/Application.java      |   14 +-
 .../analytics/postgres/FeatureRepository.java      |    4 +-
 .../postgres/StoreGeneratedProjectStatsSpec.groovy |   10 +-
 .../grails/forge/api/ApplicationController.java    |    2 +-
 ...estFramework.java => DevelopmentReloading.java} |   23 +-
 ...meworkDTO.java => DevelopmentReloadingDTO.java} |   64 +-
 .../org/grails/forge/api/SelectOptionsDTO.java     |   28 +-
 .../forge/api/analytics/GenerationListener.java    |    2 +-
 .../forge/api/create/AbstractCreateController.java |    6 +-
 .../api/create/github/GitHubCreateController.java  |   12 +-
 .../api/create/github/GitHubCreateOperation.java   |    6 +-
 .../api/create/github/GitHubCreateService.java     |    6 +-
 .../forge/api/create/zip/ZipCreateController.java  |   22 +-
 .../forge/api/create/zip/ZipCreateOperation.java   |    6 +-
 .../org/grails/forge/api/diff/DiffController.java  |   12 +-
 .../org/grails/forge/api/diff/DiffOperations.java  |    8 +-
 ...java => DevelopmentReloadingSelectOptions.java} |   14 +-
 .../api/options/TestFrameworkSelectOptions.java    |   42 -
 .../forge/api/preview/PreviewController.java       |   10 +-
 .../forge/api/preview/PreviewOperations.java       |    6 +-
 .../src/main/resources/select_options.properties   |    2 +-
 .../org/grails/forge/api/CreateClient.groovy       |   12 +-
 .../groovy/org/grails/forge/api/DiffClient.groovy  |    8 +-
 .../grails/forge/api/FeatureControllerSpec.groovy  |   22 +-
 .../org/grails/forge/api/PreviewClient.groovy      |    4 +-
 .../forge/api/ZipCreateControllerSpec.groovy       |    4 +-
 .../java/org/grails/forge/cli/Application.java     |    4 +-
 .../java/org/grails/forge/cli/CodeGenConfig.java   |   19 +-
 .../grails/forge/cli/command/CreateCommand.java    |    8 +-
 ...es.java => DevelopmentReloadingCandidates.java} |    8 +-
 ...ter.java => DevelopmentReloadingConverter.java} |   14 +-
 .../CodeGenConfigDevelopmentReloadingSpec.groovy   |  288 +++++
 .../org/grails/forge/cli/CommandFixture.groovy     |    5 +-
 .../java/org/grails/forge/analytics/Generated.java |   10 +-
 .../grails/forge/application/ContextFactory.java   |   10 +-
 .../generator/DefaultProjectGenerator.java         |    2 +-
 .../application/generator/GeneratorContext.java    |   15 +-
 .../forge/build/gradle/GradleConfiguration.java    |    6 +-
 .../forge/build/gradle/GradleDependency.java       |   10 +-
 ...st.java => HasDefaultDevelopmentReloading.java} |    6 +-
 .../grails/forge/defaults/LanguageDefaults.java    |   14 +-
 .../java/org/grails/forge/diff/FeatureDiffer.java  |    2 +-
 .../org/grails/forge/feature/FeatureContext.java   |   32 +-
 .../java/org/grails/forge/feature/Features.java    |   12 +-
 .../build/gradle/templates/buildGradle.rocker.raw  |    1 -
 .../java/org/grails/forge/feature/cli.rocker.raw   |    6 +-
 .../forge/feature/database/TestContainers.java     |   27 +-
 .../org/grails/forge/feature/reloading/Jrebel.java |   16 +
 .../forge/feature/reloading/ReloadingFeature.java  |   11 +-
 .../feature/reloading/SpringBootDevTools.java      |   19 +-
 .../org/grails/forge/feature/test/AssertJ.java     |   68 --
 .../forge/feature/test/AssertJValidator.java       |   44 -
 .../forge/feature/test/GebWithTestcontainers.java  |    8 +-
 .../feature/test/GebWithWebDriverBinaries.java     |    6 +-
 .../org/grails/forge/feature/test/Hamcrest.java    |   68 --
 .../forge/feature/test/HamcrestValidator.java      |   44 -
 .../java/org/grails/forge/feature/test/Junit.java  |   70 --
 .../org/grails/forge/feature/test/Mockito.java     |    2 +-
 .../forge/feature/test/MockitoValidator.java       |    2 +-
 .../java/org/grails/forge/feature/test/Spock.java  |   17 +-
 .../org/grails/forge/feature/test/TestFeature.java |   71 --
 .../feature/test/template/javaJunit.rocker.raw     |   49 -
 .../options/AbstractJunitRockerModelProvider.java  |   38 -
 .../options/AbstractTestRockerModelProvider.java   |   33 -
 .../options/DefaultTestRockerModelProvider.java    |   10 +-
 .../forge/options/DevelopmentReloading.java}       |   27 +-
 .../org/grails/forge/options/FeatureFilter.java    |   12 +-
 .../forge/options/JunitRockerModelProvider.java    |   45 -
 .../java/org/grails/forge/options/Language.java    |    2 +-
 .../java/org/grails/forge/options/Options.java     |   48 +-
 .../org/grails/forge/options/TestFramework.java    |   46 +-
 .../forge/options/TestRockerModelProvider.java     |    9 +-
 .../groovy/org/grails/forge/BuildBuilder.groovy    |   14 +-
 .../dependencies/GradleConfigurationSpec.groovy    |    3 +-
 .../GradleDependencyComparatorSpec.groovy          |    3 +-
 .../grails/forge/build/gradle/GradleSpec.groovy    |   13 +-
 .../feature/asciidoctor/AsciidoctorSpec.groovy     |    5 +-
 .../feature/assetPipeline/AssetPipelineSpec.groovy |    5 +-
 .../feature/database/HibernateGormSpec.groovy      |    5 +-
 .../feature/database/TestContainersSpec.groovy     |   22 +-
 .../workflows/PlainGithubWorkflowSpec.groovy       |    5 +-
 .../forge/feature/grails/GrailsBaseSpec.groovy     |   11 +-
 .../feature/grails/GrailsDefaultPluginsSpec.groovy |    5 +-
 .../feature/grails/GrailsGradlePluginSpec.groovy   |    5 +-
 .../grailsProfiles/GrailsProfilesSpec.groovy       |    5 +-
 .../feature/grailsWrapper/GrailsWrapperSpec.groovy |    3 +-
 .../feature/lang/GrailsApplicationSpec.groovy      |    7 +-
 .../forge/feature/logging/LogbackSpec.groovy       |    4 +-
 .../migration/DatabaseMigrationPluginSpec.groovy   |    5 +-
 .../forge/feature/other/ShadePluginSpec.groovy     |    3 +-
 .../reloading/SpringBootDevToolsSpec.groovy        |   24 +-
 .../forge/feature/spring/SpringBootSpec.groovy     |    5 +-
 .../spring/SpringBootVirtualThreadsSpec.groovy     |    5 +-
 .../feature/spring/SpringResourcesSpec.groovy      |    3 +-
 .../feature/test/GebWithTestcontainersSpec.groovy  |    5 +-
 .../test/GebWithWebDriverBinariesSpec.groovy       |   11 +-
 .../org/grails/forge/feature/test/JUnitSpec.groovy |   39 -
 .../grails/forge/feature/view/GrailsGspSpec.groovy |    9 +-
 .../forge/feature/view/json/ViewJsonSpec.groovy    |    7 +-
 .../forge/feature/view/json/ViewMarkupSpec.groovy  |    4 +-
 .../grails/forge/feature/web/GrailsWebSpec.groovy  |    5 +-
 .../org/grails/forge/fixture/ContextFixture.groovy |    3 +-
 .../grails/forge/options/TestFrameworkSpec.groovy  |   13 +-
 .../options/TestRockerModelProviderSpec.groovy     |   12 +-
 .../org/grails/forge/utils/CommandSpec.groovy      |    7 +-
 grails-gradle/gradle/docs-config.gradle            |   35 +-
 .../src/main/groovy/grails/util/Metadata.groovy    |    4 +-
 .../grails/core/gsp/DefaultGrailsTagLibClass.java  |   17 +
 .../core/gsp/DefaultGrailsTagLibClassSpec.groovy   |  108 ++
 .../plugins/web/taglib/ApplicationTagLib.groovy    |    3 +-
 .../grails/plugins/web/taglib/FormTagLib.groovy    |    2 +-
 .../cli/compiler/grape/AetherGrapeEngine.java      |    2 +-
 .../compiler/grape/AetherGrapeEngineFactory.java   |    2 +-
 .../grails/spring/GrailsApplicationContext.java    |   13 +
 grails-test-examples/app1/build.gradle             |    3 +-
 .../groovy/functionaltests/AtResourceSpec.groovy   |   27 +-
 .../BookRestfulControllerSpec.groovy               |   36 +-
 .../functionaltests/async/AsyncPromiseSpec.groovy  |  272 ++---
 .../binding/AdvancedDataBindingSpec.groovy         |  390 ++++---
 .../functionaltests/caching/CachingSpec.groovy     |  147 +--
 .../codecs/SecurityCodecsSpec.groovy               |  365 +++---
 .../commanddi/CommandObjectDISpec.groovy           |  273 ++---
 .../contentneg/ContentNegotiationSpec.groovy       |  277 ++---
 .../functionaltests/cors/CorsAdvancedSpec.groovy   |  262 ++---
 .../errorhandling/ErrorHandlingSpec.groovy         |  181 ++-
 .../fileupload/FileUploadSpec.groovy               |  342 +++---
 .../flow/FlashChainForwardSpec.groovy              |  249 ++---
 .../i18n/InternationalizationSpec.groovy           |  342 +++---
 .../InterceptorAdvancedMatchingSpec.groovy         |  214 ++--
 .../interceptors/InterceptorOrderingSpec.groovy    |  205 ++--
 .../requestresponse/RequestResponseSpec.groovy     |  355 +++---
 .../springevents/SpringEventsSpec.groovy           |  134 +--
 .../functionaltests/taglib/TagLibSpec.groovy       |  664 ++++-------
 .../urlmappings/UrlMappingsSpec.groovy             |  259 ++---
 .../async-events-pubsub-demo/build.gradle          |    4 +-
 .../groovy/pubsub/demo/TaskControllerSpec.groovy   |   34 +-
 grails-test-examples/cache/build.gradle            |    8 +-
 .../com/demo/AdvancedCachingIntegrationSpec.groovy |  237 +---
 .../{gorm => database-cleanup}/build.gradle        |   27 +-
 .../grails-app/conf/application.yml                |   25 +-
 .../grails-app/conf/logback.xml                    |    0
 .../controllers/dbcleanup}/UrlMappings.groovy      |    2 +-
 .../grails-app/domain/dbcleanup/Author.groovy}     |   11 +-
 .../grails-app/domain/dbcleanup}/Book.groovy       |    9 +-
 .../grails-app/init/dbcleanup}/Application.groovy  |    3 +-
 .../grails-app/views/error.gsp}                    |    6 +-
 .../groovy/dbcleanup/ClassLevelCleanupSpec.groovy  |   74 ++
 .../groovy/dbcleanup/MethodLevelCleanupSpec.groovy |   87 ++
 .../datasources/OsivBookController.groovy}         |   20 +-
 .../controllers/datasources}/UrlMappings.groovy    |    9 +-
 .../datasources/grails-app/domain/ds2/Book.groovy  |    2 +
 .../domain/ds2/{Book.groovy => Chapter.groovy}     |    4 +-
 .../grails-app/views/osivBook/show.gsp}            |   14 +-
 .../functionaltests/DatasourceSwitchingSpec.groovy |   86 ++
 .../functionaltests/OsivGspRenderingSpec.groovy}   |   20 +-
 .../functionaltests/pages/OsivBookPage.groovy}     |   12 +-
 grails-test-examples/demo33/build.gradle           |    2 +
 .../groovy/demo/JsonControllerSpec.groovy          |   26 +-
 grails-test-examples/geb/grails-cli.yml            |    2 +-
 .../gorm/WhereQueryVariableScopeService.groovy     |   86 ++
 ...TransactionalWhereQueryVariableScopeSpec.groovy |  109 ++
 .../gsp-layout/grails-forge-cli.yml                |    2 +-
 .../gsp-sitemesh3/grails-forge-cli.yml             |    2 +-
 .../example/InheritedProductService.groovy         |   20 +-
 .../DataServiceDatasourceInheritanceSpec.groovy    |  112 ++
 .../grails-multiple-datasources/build.gradle       |    4 +
 .../datasources/SecondaryBookController.groovy     |   78 ++
 .../controllers/datasources}/UrlMappings.groovy    |    5 +-
 .../MultiDataSourceWithSessionSpec.groovy          |   74 ++
 .../hibernate5/issue450/build.gradle               |    3 +-
 .../groovy/example/BookControllerSpec.groovy       |   27 +-
 grails-test-examples/issue-11102/build.gradle      |    6 +-
 .../groovy/issue11102/HttpClientCommonSpec.groovy  |   45 -
 .../groovy/issue11102/TestControllerSpec.groovy    |   27 +-
 grails-test-examples/issue-11767/build.gradle      |    7 +-
 .../groovy/issue11767/app/ConfigLoadingSpec.groovy |   37 +-
 grails-test-examples/issue-15228/build.gradle      |    3 +-
 .../issue11767/app/GsonViewRespondSpec.groovy      |   58 +-
 grails-test-examples/issue-views-182/build.gradle  |    3 +-
 .../groovy/views182/CustomErrorSpec.groovy         |   27 +-
 .../groovy/views182/HttpClientCommonSpec.groovy    |   46 -
 grails-test-examples/micronaut/build.gradle        |    3 +-
 .../MicronautDeclarativeClientSpec.groovy          |  197 ++--
 .../micronaut/MicronautErsatzAdvancedSpec.groovy   |  726 ++++--------
 .../micronaut/MicronautErsatzPatternSpec.groovy    |  337 +++---
 .../micronaut/MicronautErsatzRoundtripSpec.groovy  |  453 +++-----
 .../grails-app/domain/com/example/User.groovy      |    9 +-
 .../com/example/UserCommunityControllerSpec.groovy |    3 +-
 .../groovy/com/example/UserControllerSpec.groovy   |    3 +-
 .../views-functional-tests/build.gradle            |    5 +-
 .../groovy/functional/tests/BookSpec.groovy        |  181 +--
 .../groovy/functional/tests/BulletinSpec.groovy    |   26 +-
 .../groovy/functional/tests/CircularSpec.groovy    |   74 +-
 .../groovy/functional/tests/CustomerSpec.groovy    |   41 +-
 .../groovy/functional/tests/EmbeddedSpec.groovy    |   58 +-
 .../groovy/functional/tests/HttpClientSpec.groovy  |   44 -
 .../groovy/functional/tests/InheritanceSpec.groovy |   38 +-
 .../tests/ModelInterceptorIntSpec.groovy           |   37 +-
 .../functional/tests/ObjectTemplateSpec.groovy     |   27 +-
 .../functional/tests/PersonInheritanceSpec.groovy  |   32 +-
 .../groovy/functional/tests/ProductSpec.groovy     |  218 ++--
 .../groovy/functional/tests/ProjectSpec.groovy     |   38 +-
 .../groovy/functional/tests/ProxySpec.groovy       |   31 +-
 .../groovy/functional/tests/TeamSpec.groovy        |   91 +-
 .../functional/tests/TestControllerSpec.groovy     |   28 +-
 .../functional/tests/TestGmlControllerSpec.groovy  |   32 +-
 .../functional/tests/TestGsonControllerSpec.groovy |   86 +-
 .../groovy/functional/tests/VehicleSpec.groovy     |   61 +-
 .../functional/tests/api/NamespacedBookSpec.groovy |  143 +--
 grails-test-suite-uber/build.gradle                |   83 +-
 .../web/binding/JSONBindingToNullSpec.groovy       |    7 +-
 .../groovy/grails/testing/spock/OnceBefore.groovy  |    2 -
 grails-testing-support-dbcleanup-core/README.md    |  137 +++
 .../build.gradle                                   |   18 +-
 .../cleanup/core/ApplicationContextResolver.groovy |   50 +
 .../testing/cleanup/core/DatabaseCleaner.groovy    |   91 ++
 .../testing/cleanup/core/DatabaseCleanup.groovy    |  127 +++
 .../cleanup/core/DatabaseCleanupContext.groovy     |  220 ++++
 .../cleanup/core/DatabaseCleanupExtension.groovy   |  235 ++++
 .../cleanup/core/DatabaseCleanupInterceptor.groovy |  210 ++++
 .../cleanup/core/DatabaseCleanupStats.groovy       |  200 ++++
 .../cleanup/core/DatasourceCleanupMapping.groovy   |  156 +++
 .../core/DefaultApplicationContextResolver.groovy  |   67 ++
 .../cleanup/core/TestContextHolderListener.groovy  |   59 +
 ...ockframework.runtime.extension.IGlobalExtension |    1 +
 .../src/main/resources/META-INF/spring.factories   |    1 +
 .../cleanup/core/DatabaseCleanupContextSpec.groovy |  478 ++++++++
 .../core/DatabaseCleanupExtensionSpec.groovy       |  446 ++++++++
 .../core/DatabaseCleanupInterceptorSpec.groovy     |  678 ++++++++++++
 .../cleanup/core/DatabaseCleanupStatsSpec.groovy   |  297 +++++
 .../core/DatasourceCleanupMappingSpec.groovy       |  175 +++
 .../DefaultApplicationContextResolverSpec.groovy   |   96 ++
 .../README.md                                      |   16 +-
 .../build.gradle                                   |   28 +-
 .../testing/cleanup/h2/H2DatabaseCleaner.groovy    |  103 ++
 .../cleanup/h2/H2DatabaseCleanupHelper.groovy      |  121 ++
 ...che.grails.testing.cleanup.core.DatabaseCleaner |    1 +
 .../cleanup/h2/H2DatabaseCleanerSpec.groovy        |  229 ++++
 .../cleanup/h2/H2DatabaseCleanupHelperSpec.groovy  |  137 +++
 .../README.md                                      |   32 +
 .../build.gradle                                   |   36 +-
 .../postgresql/PostgresDatabaseCleaner.groovy      |  132 +++
 .../PostgresDatabaseCleanupHelper.groovy           |  100 ++
 .../postgresql/PostgresContainerHolder.groovy      |   66 ++
 .../PostgresDatabaseCleanerFunctionalSpec.groovy   |  318 ++++++
 .../postgresql/PostgresDatabaseCleanerSpec.groovy  |  114 ++
 .../PostgresDatabaseCleanupHelperSpec.groovy       |   83 ++
 grails-testing-support-http-client/README.md       |  201 ++++
 .../build.gradle                                   |   30 +-
 .../testing/http/client/HttpClientSupport.groovy   | 1169 ++++++++++++++++++++
 .../testing/http/client/MultipartBody.groovy       |  191 ++++
 .../testing/http/client/TestHttpResponse.groovy    |  994 +++++++++++++++++
 .../testing/http/client/utils/JsonUtils.groovy     |  276 +++++
 .../testing/http/client/utils/XmlUtils.groovy      |  241 ++++
 .../http/client/HttpClientSupportSpec.groovy       | 1165 +++++++++++++++++++
 .../testing/http/client/MultipartBodySpec.groovy   |   67 ++
 .../http/client/TestHttpResponseSpec.groovy        |  542 +++++++++
 .../testing/http/client/utils/JsonUtilsSpec.groovy |  159 +++
 .../testing/http/client/utils/XmlUtilsSpec.groovy  |  329 ++++++
 .../grails/validation/ConstrainedDelegate.groovy   |    2 +-
 .../plugin/json/builder/DefaultJsonGenerator.java  |  542 +--------
 .../grails/plugin/json/builder/JsonGenerator.java  |  270 +----
 .../grails/plugin/json/builder/JsonOutput.java     |  268 +----
 .../plugin/json/builder/StreamingJsonBuilder.java  |  800 +-------------
 .../json/converters/InstantJsonConverter.groovy    |    3 +-
 .../json/converters/LocalDateJsonConverter.groovy  |    3 +-
 .../converters/LocalDateTimeJsonConverter.groovy   |    3 +-
 .../json/converters/LocalTimeJsonConverter.groovy  |    3 +-
 .../converters/OffsetDateTimeJsonConverter.groovy  |    3 +-
 .../json/converters/OffsetTimeJsonConverter.groovy |    3 +-
 .../json/converters/PeriodJsonConverter.groovy     |    3 +-
 .../converters/ZonedDateTimeJsonConverter.groovy   |    3 +-
 .../plugin/json/view/JsonViewTemplateEngine.groovy |   30 +-
 .../plugin/json/view/JsonViewWritableScript.groovy |   67 +-
 .../json/view/api/GrailsJsonViewHelper.groovy      |   18 +-
 .../plugin/json/view/api/HalViewHelper.groovy      |   18 +-
 .../grails/plugin/json/view/api/JsonView.groovy    |   38 +-
 .../internal/DefaultGrailsJsonViewHelper.groovy    |   94 +-
 .../view/api/internal/DefaultHalViewHelper.groovy  |  134 +--
 .../api/internal/DefaultJsonApiViewHelper.groovy   |   11 +-
 .../view/api/internal/DefaultJsonViewHelper.groovy |    3 +-
 .../JsonTemplateTypeCheckingExtension.groovy       |    9 +-
 .../json/view/template/JsonViewTemplate.groovy     |   23 +-
 .../context/GrailsWebApplicationContext.java       |    4 +
 .../web/servlet/context/GrailsConfigUtils.java     |    3 +-
 .../mvc/AbstractGrailsControllerUrlMappings.groovy |   12 +-
 settings.gradle                                    |   14 +-
 418 files changed, 22215 insertions(+), 9449 deletions(-)
 copy grails-forge/gradle/doc-config.gradle => 
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GrailsGroovydocPlugin.groovy
 (59%)
 create mode 100644 
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GroovydocEnhancerExtension.groovy
 create mode 100644 
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GroovydocEnhancerPlugin.groovy
 create mode 100644 
grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/BasicCollectionInQuerySpec.groovy
 create mode 100644 
grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/DetachedCriteriaProjectionNullAssociationSpec.groovy
 create mode 100644 
grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/WhereQueryBugFixSpec.groovy
 create mode 100644 
grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/WhereQueryOldIssueVerificationSpec.groovy
 create mode 100644 
grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/connections/DataServiceDatasourceInheritanceSpec.groovy
 create mode 100644 
grails-data-hibernate5/docs/src/docs/asciidoc/services/multipleDataSources.adoc
 create mode 100644 
grails-data-hibernate5/grails-plugin/src/test/groovy/org/grails/plugin/hibernate/support/MultiDataSourceSessionSpec.groovy
 create mode 100644 
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/jdbc/DataSourceBuilderSpec.groovy
 copy 
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/{WhereRoutingItem.groovy
 => DataServiceRoutingMetric.groovy} (83%)
 copy 
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/{WhereRoutingItemService.groovy
 => DataServiceRoutingMetricService.groovy} (70%)
 copy 
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/{WhereRoutingItem.groovy
 => DataServiceRoutingProduct.groovy} (86%)
 copy 
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/{WhereRoutingItemService.groovy
 => DataServiceRoutingProductDataService.groovy} (70%)
 copy 
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/{WhereRoutingItemService.groovy
 => DataServiceRoutingProductService.groovy} (62%)
 create mode 100644 
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/CrossLayerMultiDataSourceSpec.groovy
 create mode 100644 
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/CrossLayerMultiTenantMultiDataSourceSpec.groovy
 create mode 100644 
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/DataServiceConnectionRoutingSpec.groovy
 create mode 100644 
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/DataServiceMultiTenantConnectionRoutingSpec.groovy
 create mode 100644 
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/DomainMultiDataSourceSpec.groovy
 create mode 100644 
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/DomainMultiTenantMultiDataSourceSpec.groovy
 create mode 100644 
grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/config/DatastoreServiceMethodInvokingFactoryBeanSpec.groovy
 rename grails-doc/src/en/ref/Database Mapping/{updateable.adoc => 
updatable.adoc} (86%)
 copy 
grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/{TestFramework.java
 => DevelopmentReloading.java} (69%)
 rename 
grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/{TestFrameworkDTO.java
 => DevelopmentReloadingDTO.java} (52%)
 copy 
grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/options/{LanguageSelectOptions.java
 => DevelopmentReloadingSelectOptions.java} (72%)
 delete mode 100644 
grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/options/TestFrameworkSelectOptions.java
 rename 
grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/{TestFrameworkCandidates.java
 => DevelopmentReloadingCandidates.java} (75%)
 rename 
grails-forge/grails-forge-cli/src/main/java/org/grails/forge/cli/command/{TestFrameworkConverter.java
 => DevelopmentReloadingConverter.java} (69%)
 create mode 100644 
grails-forge/grails-forge-cli/src/test/groovy/org/grails/forge/cli/CodeGenConfigDevelopmentReloadingSpec.groovy
 rename 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/defaults/{HasDefaultTest.java
 => HasDefaultDevelopmentReloading.java} (85%)
 delete mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/AssertJ.java
 delete mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/AssertJValidator.java
 delete mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Hamcrest.java
 delete mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/HamcrestValidator.java
 delete mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Junit.java
 delete mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/TestFeature.java
 delete mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/template/javaJunit.rocker.raw
 delete mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/AbstractJunitRockerModelProvider.java
 delete mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/AbstractTestRockerModelProvider.java
 rename 
grails-forge/{grails-forge-api/src/main/java/org/grails/forge/api/TestFramework.java
 => 
grails-forge-core/src/main/java/org/grails/forge/options/DevelopmentReloading.java}
 (71%)
 delete mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/JunitRockerModelProvider.java
 delete mode 100644 
grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/test/JUnitSpec.groovy
 create mode 100644 
grails-gsp/grails-taglib/src/test/groovy/org/grails/core/gsp/DefaultGrailsTagLibClassSpec.groovy
 copy grails-test-examples/{gorm => database-cleanup}/build.gradle (70%)
 copy 
grails-data-hibernate5/dbmigration/src/integration-test/resources/application-single-datasource.yml
 => grails-test-examples/database-cleanup/grails-app/conf/application.yml (76%)
 copy grails-test-examples/{hibernate5/grails-data-service-multi-datasource => 
database-cleanup}/grails-app/conf/logback.xml (100%)
 copy grails-test-examples/{gorm/grails-app/controllers/gorm => 
database-cleanup/grails-app/controllers/dbcleanup}/UrlMappings.groovy (98%)
 copy grails-test-examples/{demo33/grails-app/domain/demo/Car.groovy => 
database-cleanup/grails-app/domain/dbcleanup/Author.groovy} (90%)
 copy 
{grails-data-graphql/examples/grails-test-app/grails-app/domain/grails/test/app 
=> 
grails-test-examples/database-cleanup/grails-app/domain/dbcleanup}/Book.groovy 
(87%)
 copy 
grails-test-examples/{hibernate5/grails-multitenant-multi-datasource/grails-app/init/example
 => database-cleanup/grails-app/init/dbcleanup}/Application.groovy (98%)
 copy grails-test-examples/{app1/grails-app/views/forwarding/displayFlash.gsp 
=> database-cleanup/grails-app/views/error.gsp} (91%)
 create mode 100644 
grails-test-examples/database-cleanup/src/integration-test/groovy/dbcleanup/ClassLevelCleanupSpec.groovy
 create mode 100644 
grails-test-examples/database-cleanup/src/integration-test/groovy/dbcleanup/MethodLevelCleanupSpec.groovy
 copy 
grails-test-examples/{app1/grails-app/init/functionaltests/BootStrap.groovy => 
datasources/grails-app/controllers/datasources/OsivBookController.groovy} (68%)
 copy grails-test-examples/{exploded/grails-app/controllers/exploded => 
datasources/grails-app/controllers/datasources}/UrlMappings.groovy (89%)
 mode change 100755 => 100644
 copy grails-test-examples/datasources/grails-app/domain/ds2/{Book.groovy => 
Chapter.groovy} (95%)
 copy grails-test-examples/{app1/grails-app/views/contentNegotiation/error.gsp 
=> datasources/grails-app/views/osivBook/show.gsp} (81%)
 copy 
grails-test-examples/{app1/src/integration-test/groovy/functionaltests/DataBindingSpec.groovy
 => 
datasources/src/integration-test/groovy/functionaltests/OsivGspRenderingSpec.groovy}
 (61%)
 copy 
grails-test-examples/{app1/src/integration-test/groovy/functionaltests/pages/BarListPage.groovy
 => 
datasources/src/integration-test/groovy/functionaltests/pages/OsivBookPage.groovy}
 (78%)
 create mode 100644 
grails-test-examples/gorm/grails-app/services/gorm/WhereQueryVariableScopeService.groovy
 create mode 100644 
grails-test-examples/gorm/src/integration-test/groovy/gorm/TransactionalWhereQueryVariableScopeSpec.groovy
 copy 
grails-data-neo4j/examples/test-data-service/grails-app/services/example/StudentService.groovy
 => 
grails-test-examples/hibernate5/grails-data-service-multi-datasource/grails-app/services/example/InheritedProductService.groovy
 (73%)
 create mode 100644 
grails-test-examples/hibernate5/grails-data-service-multi-datasource/src/integration-test/groovy/functionaltests/DataServiceDatasourceInheritanceSpec.groovy
 create mode 100644 
grails-test-examples/hibernate5/grails-multiple-datasources/grails-app/controllers/datasources/SecondaryBookController.groovy
 copy grails-test-examples/{plugins/exploded/grails-app/controllers/exploded => 
hibernate5/grails-multiple-datasources/grails-app/controllers/datasources}/UrlMappings.groovy
 (92%)
 mode change 100755 => 100644
 create mode 100644 
grails-test-examples/hibernate5/grails-multiple-datasources/src/integration-test/groovy/functionaltests/MultiDataSourceWithSessionSpec.groovy
 delete mode 100644 
grails-test-examples/issue-11102/src/integration-test/groovy/issue11102/HttpClientCommonSpec.groovy
 delete mode 100644 
grails-test-examples/issue-views-182/src/integration-test/groovy/views182/HttpClientCommonSpec.groovy
 delete mode 100644 
grails-test-examples/views-functional-tests/src/integration-test/groovy/functional/tests/HttpClientSpec.groovy
 create mode 100644 grails-testing-support-dbcleanup-core/README.md
 copy {grails-testing-support-mongodb => 
grails-testing-support-dbcleanup-core}/build.gradle (71%)
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/groovy/org/apache/grails/testing/cleanup/core/ApplicationContextResolver.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/groovy/org/apache/grails/testing/cleanup/core/DatabaseCleaner.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/groovy/org/apache/grails/testing/cleanup/core/DatabaseCleanup.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/groovy/org/apache/grails/testing/cleanup/core/DatabaseCleanupContext.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/groovy/org/apache/grails/testing/cleanup/core/DatabaseCleanupExtension.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/groovy/org/apache/grails/testing/cleanup/core/DatabaseCleanupInterceptor.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/groovy/org/apache/grails/testing/cleanup/core/DatabaseCleanupStats.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/groovy/org/apache/grails/testing/cleanup/core/DatasourceCleanupMapping.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/groovy/org/apache/grails/testing/cleanup/core/DefaultApplicationContextResolver.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/groovy/org/apache/grails/testing/cleanup/core/TestContextHolderListener.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/resources/META-INF/services/org.spockframework.runtime.extension.IGlobalExtension
 create mode 100644 
grails-testing-support-dbcleanup-core/src/main/resources/META-INF/spring.factories
 create mode 100644 
grails-testing-support-dbcleanup-core/src/test/groovy/org/apache/grails/testing/cleanup/core/DatabaseCleanupContextSpec.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/test/groovy/org/apache/grails/testing/cleanup/core/DatabaseCleanupExtensionSpec.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/test/groovy/org/apache/grails/testing/cleanup/core/DatabaseCleanupInterceptorSpec.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/test/groovy/org/apache/grails/testing/cleanup/core/DatabaseCleanupStatsSpec.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/test/groovy/org/apache/grails/testing/cleanup/core/DatasourceCleanupMappingSpec.groovy
 create mode 100644 
grails-testing-support-dbcleanup-core/src/test/groovy/org/apache/grails/testing/cleanup/core/DefaultApplicationContextResolverSpec.groovy
 copy {grails-data-graphql => grails-testing-support-dbcleanup-h2}/README.md 
(61%)
 copy {grails-async/core => grails-testing-support-dbcleanup-h2}/build.gradle 
(72%)
 create mode 100644 
grails-testing-support-dbcleanup-h2/src/main/groovy/org/apache/grails/testing/cleanup/h2/H2DatabaseCleaner.groovy
 create mode 100644 
grails-testing-support-dbcleanup-h2/src/main/groovy/org/apache/grails/testing/cleanup/h2/H2DatabaseCleanupHelper.groovy
 create mode 100644 
grails-testing-support-dbcleanup-h2/src/main/resources/META-INF/services/org.apache.grails.testing.cleanup.core.DatabaseCleaner
 create mode 100644 
grails-testing-support-dbcleanup-h2/src/test/groovy/org/apache/grails/testing/cleanup/h2/H2DatabaseCleanerSpec.groovy
 create mode 100644 
grails-testing-support-dbcleanup-h2/src/test/groovy/org/apache/grails/testing/cleanup/h2/H2DatabaseCleanupHelperSpec.groovy
 create mode 100644 grails-testing-support-dbcleanup-postgresql/README.md
 copy {grails-logging => 
grails-testing-support-dbcleanup-postgresql}/build.gradle (69%)
 create mode 100644 
grails-testing-support-dbcleanup-postgresql/src/main/groovy/org/apache/grails/testing/cleanup/postgresql/PostgresDatabaseCleaner.groovy
 create mode 100644 
grails-testing-support-dbcleanup-postgresql/src/main/groovy/org/apache/grails/testing/cleanup/postgresql/PostgresDatabaseCleanupHelper.groovy
 create mode 100644 
grails-testing-support-dbcleanup-postgresql/src/test/groovy/org/apache/grails/testing/cleanup/postgresql/PostgresContainerHolder.groovy
 create mode 100644 
grails-testing-support-dbcleanup-postgresql/src/test/groovy/org/apache/grails/testing/cleanup/postgresql/PostgresDatabaseCleanerFunctionalSpec.groovy
 create mode 100644 
grails-testing-support-dbcleanup-postgresql/src/test/groovy/org/apache/grails/testing/cleanup/postgresql/PostgresDatabaseCleanerSpec.groovy
 create mode 100644 
grails-testing-support-dbcleanup-postgresql/src/test/groovy/org/apache/grails/testing/cleanup/postgresql/PostgresDatabaseCleanupHelperSpec.groovy
 create mode 100644 grails-testing-support-http-client/README.md
 copy {grails-testing-support-views-gson => 
grails-testing-support-http-client}/build.gradle (64%)
 create mode 100644 
grails-testing-support-http-client/src/main/groovy/org/apache/grails/testing/http/client/HttpClientSupport.groovy
 create mode 100644 
grails-testing-support-http-client/src/main/groovy/org/apache/grails/testing/http/client/MultipartBody.groovy
 create mode 100644 
grails-testing-support-http-client/src/main/groovy/org/apache/grails/testing/http/client/TestHttpResponse.groovy
 create mode 100644 
grails-testing-support-http-client/src/main/groovy/org/apache/grails/testing/http/client/utils/JsonUtils.groovy
 create mode 100644 
grails-testing-support-http-client/src/main/groovy/org/apache/grails/testing/http/client/utils/XmlUtils.groovy
 create mode 100644 
grails-testing-support-http-client/src/test/groovy/org/apache/grails/testing/http/client/HttpClientSupportSpec.groovy
 create mode 100644 
grails-testing-support-http-client/src/test/groovy/org/apache/grails/testing/http/client/MultipartBodySpec.groovy
 create mode 100644 
grails-testing-support-http-client/src/test/groovy/org/apache/grails/testing/http/client/TestHttpResponseSpec.groovy
 create mode 100644 
grails-testing-support-http-client/src/test/groovy/org/apache/grails/testing/http/client/utils/JsonUtilsSpec.groovy
 create mode 100644 
grails-testing-support-http-client/src/test/groovy/org/apache/grails/testing/http/client/utils/XmlUtilsSpec.groovy

Reply via email to