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

jdaugherty pushed a change to branch 8.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git


    from 237b8ec59d Merge pull request #15451 from 
jamesfredley/fix/unused-groovyplugin-import
     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
     new f81c133219 Merge branch '7.1.x' into 8.0.x

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 AGENTS.md                                          |   4 +
 build-logic/plugins/build.gradle                   |   8 +
 .../grails/buildsrc/GrailsGroovydocPlugin.groovy   |  40 +-
 .../buildsrc/GroovydocEnhancerExtension.groovy     | 108 +++++
 .../grails/buildsrc/GroovydocEnhancerPlugin.groovy | 180 +++++++
 gradle/docs-dependencies.gradle                    |  61 +--
 gradle/publish-root-config.gradle                  |   3 +
 grails-data-docs/stage/build.gradle                |  27 +-
 .../groovy/myapp/BarIntegrationSpec.groovy         |   3 +-
 .../groovy/myapp/FooIntegrationSpec.groovy         |   3 +-
 .../grails/orm/HibernateCriteriaBuilder.java       |  27 ++
 .../query/AbstractHibernateCriteriaBuilder.java    | 102 +++-
 .../hibernate/query/AbstractHibernateQuery.java    |  99 +++-
 .../gorm/tests/BasicCollectionInQuerySpec.groovy   | 167 +++++++
 .../gorm/tests/DetachedCriteriaJoinSpec.groovy     | 124 ++++-
 .../grails/gorm/tests/WhereQueryBugFixSpec.groovy  | 106 +++++
 .../WhereQueryOldIssueVerificationSpec.groovy      | 371 +++++++++++++++
 .../tests/compositeid/CompositeIdCriteria.groovy   |  80 ++++
 .../core/GrailsDataHibernate5TckManager.groovy     |  44 ++
 .../DataServiceMultiDataSourceSpec.groovy          |  42 +-
 ...ataServiceMultiTenantMultiDataSourceSpec.groovy |  42 +-
 .../MultipleDataSourceConnectionsSpec.groovy       |  72 ++-
 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 ++++++++
 .../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 +-
 .../groovy/grails/gorm/DetachedCriteria.groovy     |  22 +-
 .../datastore/gorm/finders/CountByFinder.java      |   1 +
 .../transform/DetachedCriteriaTransformer.java     |  16 +-
 .../gorm/GormEnhancerAllQualifiersSpec.groovy      |  32 ++
 .../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 +-
 .../mapping/query/jpa/JpaQueryBuilder.java         |  53 +++
 grails-doc/build.gradle                            |  21 +-
 grails-doc/src/en/guide/commandLine.adoc           |   2 +-
 .../guide/conf/dataSource/multipleDatasources.adoc | 244 ++++++++++
 .../transactionsMultiDataSource.adoc               |   2 +
 .../src/en/guide/testing/integrationTesting.adoc   | 143 ++++++
 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 +-
 .../grails/spring/GrailsApplicationContext.java    |  13 +
 .../{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/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 +-
 .../grails-multiple-datasources/build.gradle       |   6 +
 .../datasources/SecondaryBookController.groovy     |  78 ++++
 .../controllers/datasources}/UrlMappings.groovy    |   5 +-
 .../MultiDataSourceWithSessionSpec.groovy          |  86 ++++
 .../micronaut/MicronautErsatzAdvancedSpec.groovy   |  11 +-
 grails-testing-support-dbcleanup-core/README.md    |  79 ++++
 .../build.gradle                                   |  18 +-
 .../cleanup/core/ApplicationContextResolver.groovy |  50 ++
 .../testing/cleanup/core/DatabaseCleaner.groovy    |  91 ++++
 .../testing/cleanup/core/DatabaseCleanup.groovy    | 106 +++++
 .../cleanup/core/DatabaseCleanupContext.groovy     | 220 +++++++++
 .../cleanup/core/DatabaseCleanupExtension.groovy   | 203 ++++++++
 .../cleanup/core/DatabaseCleanupInterceptor.groovy | 176 +++++++
 .../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       | 382 +++++++++++++++
 .../core/DatabaseCleanupInterceptorSpec.groovy     | 516 +++++++++++++++++++++
 .../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 ++++
 .../context/GrailsWebApplicationContext.java       |   4 +
 .../mvc/AbstractGrailsControllerUrlMappings.groovy |  12 +-
 settings.gradle                                    |   5 +
 234 files changed, 10385 insertions(+), 1694 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/WhereQueryBugFixSpec.groovy
 create mode 100644 
grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/WhereQueryOldIssueVerificationSpec.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
 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
 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
 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
 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
 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


Reply via email to