This is an automated email from the ASF dual-hosted git repository.
jamesfredley pushed a change to branch feat/data-service-datasource-inheritance
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from 19e8479367 feat: auto-inherit datasource from domain class in @Service
data services
add 32ac3863a5 prevent duplicate loading of micronaut beans & fix bootJar
task
add 37f5114dbf Merge remote-tracking branch 'origin/7.0.x' into
micronaut-fixes
add 6fd254b99d fix: configure Micronaut annotation processor and CLASSIC
loader in GrailsGradlePlugin
add 19fa41e0fe fix: add bootWar CLASSIC loader to Forge-generated
build.gradle
add beff44a522 chore: add Apache license header to GrailsMicronautValidator
add 888fa45a59 test: add integration tests for Micronaut bean type
registration
add 6d4dfc9e2f docs: document Micronaut annotation processor and CLASSIC
loader in upgrade guide
add fbf50a26b8 fix: exclude Spring Boot DevTools for Micronaut apps in
Forge
add b3062c6478 test: add bean duplication and cross-context identity tests
for Micronaut
add b04d6d51ef fix: address review feedback on test correctness and
documentation
add 4e9d6b9259 refactor: extract JavaMessageProvider to its own file
add ae7747aee5 fix: remove annotation processor auto-config and add
declarative @Client test
add e6e202ab13 Merge branch '7.0.x' into micronaut-fixes-2
add 782b950a65 test: invoke declarative @Client through load balancing
path with ersatz mock
add 03d1a51674 fix: restore Micronaut annotation processor auto-config in
GrailsGradlePlugin
add 79cdfc189e fix: move Micronaut annotation processor config to test
apps with Java sources
add af9191215c style: formatting and readability
add f4fe7bdc1e refactor: groovify
add 6c812442a4 Use BootArchive instead of BootWar/BootJar
add 749364dd9a Remove unused imports
add 52f1180917 Fix exists() cross-join caused by duplicate CriteriaQuery
root
add d430eed0a6 Merge pull request #15419 from apache/fix/exists-cross-join
add 251e6fd857 Merge branch '7.0.x' into micronaut-fixes-2
add 6b59b6f1a3 Address PR review feedback: comprehensive ersatz tests,
plugin @Singleton beans, and docs updates
add db7f62f9bb Exhaustive ersatz integration tests for all Micronaut
client patterns
add 7c25aa5cf3 Auto-exclude Spring Boot LiquibaseAutoConfiguration when
Database Migration Plugin is present
add 8fd3c59a46 Switch to AST-based LiquibaseAutoConfiguration exclusion
with opt-out
add a2e6cd15d4 refactor: groovify and readability
add 656158070e test: clean up and simplify
add f608051cdc Merge branch '7.0.x' into fix/liquibase-autoconfig-exclusion
add ca84fb2513 Rename system property to
grails.autoconfigure.exclude.liquibase
add 26a8ee47ad Merge pull request #15405 from
jamesfredley/fix/liquibase-autoconfig-exclusion
add 3bc530e990 fix: copy missing fields in AbstractDetachedCriteria.clone()
add 8395e3d8a3 Merge pull request #15424 from
apache/fix/detached-criteria-clone
add 13d86abc46 fix: add jboss-threads 3.9.2 to Undertow feature for Java
25 compatibility
add f4f9120872 Merge pull request #15427 from
apache/fix/undertow-jboss-threads-java25
add f8fd27a682 Upgrade to Spring Boot 3.5.11
add c8b1b28d89 test(deps): bump `grails-spring-security`
add 1b4a0ba679 Merge pull request #15428 from apache/upgrade-boot
add c0d58dfda8 fix: add Java 23+/24+ compatibility JVM args and upgrade
commons-lang3 to 3.20.0
add 7ed3ffde65 fix: make Java compat tests JDK-version-aware for CI on
Java 25
add 8f22d071a5 Merge branch '7.0.x' into fix/java-compat-jvm-args
add abbde8cf43 fix: replace afterEvaluate with plugins.withId and add
logger.info per review
add b3c414b875 fix: replace afterEvaluate with lazy plugin syntax in
configureToolchainForForkTasks
add 418cde8b33 Merge pull request #15417 from
apache/fix/java-compat-jvm-args
add 7ae3260c47 Fix @Where and DetachedCriteria query methods ignoring
@Transactional(connection)
add dbb0e9851e Merge branch '7.0.x' into fix/where-connection-routing
add 98e9b512fd Add @Where connection routing TCK test for multi-datasource
support
add 5a50372074 refactor: use public GORM multi-datasource API in test
helpers
add 118f897eab Merge pull request #15418 from
apache/fix/where-connection-routing
add 47e4cbd8a2 Merge branch '7.0.x' into micronaut-fixes-2
add 13447162ac test: add Groovy-only Micronaut test module
add c80069261c Merge pull request #15411 from apache/micronaut-fixes-2
add fe158099bc test: add @Query Data Service connection routing tests
add a514a047c9 fix: restore removed documentation comments
add 95bb3023f1 Merge pull request #15423 from
apache/test/query-connection-routing
add 2988347767 Merge pull request #15434 from apache/7.0.x
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
No new revisions were added by this update.
Summary of changes:
dependencies.gradle | 4 +-
gradle.properties | 3 +-
.../injection/ApplicationClassInjector.groovy | 46 +-
.../injection/ApplicationClassInjectorSpec.groovy | 100 +++
.../AbstractHibernateGormStaticApi.groovy | 2 +-
.../core/GrailsDataHibernate5TckManager.groovy | 47 +-
.../orm/hibernate/ExistsCrossJoinSpec.groovy | 122 +++
.../DataServiceDatasourceInheritanceSpec.groovy | 48 +-
.../DataServiceMultiDataSourceSpec.groovy | 107 +++
.../WhereQueryMultiDataSourceSpec.groovy | 179 +++++
grails-data-hibernate5/dbmigration/README.md | 22 +
.../mongo/core/GrailsDataMongoTckManager.groovy | 38 +
.../query/criteria/AbstractDetachedCriteria.groovy | 3 +
.../implementers/AbstractWhereImplementer.groovy | 8 +-
.../services/WhereConnectionRoutingSpec.groovy | 211 +++++
.../criteria/DetachedCriteriaCloneSpec.groovy | 123 +++
.../testing/tck/base/GrailsDataTckManager.groovy | 16 +
.../{TestEntity.groovy => WhereRoutingItem.groovy} | 21 +-
...ntity.groovy => WhereRoutingItemService.groovy} | 26 +-
.../tests/WhereQueryConnectionRoutingSpec.groovy | 140 ++++
...atastoreServiceMethodInvokingFactoryBean.groovy | 25 +
.../dataSource/automaticDatabaseMigration.adoc | 15 +-
.../guide/conf/dataSource/multipleDatasources.adoc | 2 +-
.../src/en/guide/upgrading/upgrading60x.adoc | 18 +
.../build/gradle/templates/buildGradle.rocker.raw | 2 +-
.../GrailsMicronautValidator.java} | 18 +-
.../feature/reloading/SpringBootDevTools.java | 12 +-
.../feature/spring/SpringBootUndertowFeature.java | 4 +
.../grails-forge-core/src/main/resources/pom.xml | 6 +
.../reloading/SpringBootDevToolsSpec.groovy | 32 +-
.../forge/feature/spring/SpringBootSpec.groovy | 14 +
.../gradle/plugin/core/GrailsGradlePlugin.groovy | 91 ++-
.../core/GrailsGradlePluginJavaCompatSpec.groovy | 109 +++
.../java-compat-no-toolchain/build.gradle | 21 +
.../gradle.properties | 0
.../grails-app/conf/application.yml | 0
.../settings.gradle | 0
.../java-compat-toolchain-23/build.gradle | 29 +
.../gradle.properties | 0
.../grails-app/conf/application.yml | 0
.../settings.gradle | 0
.../java-compat-toolchain-24/build.gradle | 29 +
.../gradle.properties | 0
.../grails-app/conf/application.yml | 0
.../settings.gradle | 0
.../java-compat-toolchain-current/build.gradle | 27 +
.../gradle.properties | 0
.../grails-app/conf/application.yml | 0
.../settings.gradle | 0
grails-micronaut/build.gradle | 3 +-
.../micronaut/GrailsMicronautGrailsPlugin.groovy | 36 +-
.../groovy/gorm/ExistsSpec.groovy} | 51 +-
.../services/example/ProductService.groovy | 10 +
.../DataServiceDatasourceInheritanceSpec.groovy | 9 -
.../DataServiceMultiDataSourceSpec.groovy | 46 ++
.../build.gradle | 18 +-
.../grails-app/conf/application.yml | 35 +-
.../micronautgroovyonly}/UrlMappings.groovy | 3 +-
.../init/micronautgroovyonly}/Application.groovy | 4 +-
.../BeanInjectionService.groovy | 2 +-
.../micronautgroovyonly}/TestService.groovy | 2 +-
.../BeanInjectionServiceSpec.groovy | 2 +-
.../MicronautContextSpec.groovy | 11 +-
.../MicronautQualifierSpec.groovy | 11 +-
.../main/groovy/bean/injection/AppConfig.groovy} | 12 +-
.../bean/injection/FactoryCreatedService.groovy} | 7 +-
.../main/groovy/bean/injection/NamedService.groovy | 8 +-
.../bean/injection/PrimaryNamedService.groovy | 1 -
.../main/groovy/bean/injection/Qualified.groovy | 0
.../bean/injection/QualifiedNamedService.groovy | 2 +-
.../bean/injection/RegularNamedService.groovy | 2 +-
.../groovy/bean/injection/ServiceFactory.groovy} | 16 +-
.../bean/injection/SpecialNamedService.groovy | 0
grails-test-examples/micronaut/build.gradle | 14 +-
.../micronaut/grails-app/conf/application.yml | 7 +
.../micronaut/ExternalApiController.groovy | 113 +++
.../micronaut/MicronautTestController.groovy} | 34 +-
.../controllers/micronaut/UrlMappings.groovy | 15 +
.../services/micronaut/ExternalApiService.groovy | 110 +++
.../micronaut/MicronautBeanDuplicationSpec.groovy | 105 +++
.../groovy/micronaut/MicronautBeanTypesSpec.groovy | 99 +++
.../MicronautDeclarativeClientSpec.groovy | 299 +++++++
.../micronaut/MicronautErsatzAdvancedSpec.groovy | 863 +++++++++++++++++++++
.../micronaut/MicronautErsatzPatternSpec.groovy | 481 ++++++++++++
.../micronaut/MicronautErsatzRoundtripSpec.groovy | 531 +++++++++++++
.../micronaut/MicronautPluginBeanSpec.groovy | 85 ++
.../main/groovy/bean/injection/AppConfig.groovy} | 12 +-
.../bean/injection/FactoryCreatedService.groovy} | 7 +-
...edNamedService.groovy => ServiceFactory.groovy} | 16 +-
.../client/MicronautAdvancedClient.groovy | 59 ++
.../client/MicronautFilteredClient.groovy | 22 +-
.../micronaut/client/MicronautHeaderClient.groovy | 26 +-
.../micronaut/client/MicronautPathClient.groovy | 26 +-
.../client/MicronautReactiveClient.groovy | 41 +-
.../micronaut/client/MicronautTestClient.groovy | 43 +-
.../bean/injection/JavaMessageProvider.java} | 4 +-
.../bean/injection/JavaSingletonService.java} | 9 +-
.../micronaut/client/MicronautRetryableClient.java | 20 +-
.../micronaut/filter/AuthTokenClientFilter.java} | 22 +-
.../plugins/issue-11767/build.gradle | 6 +-
.../build.gradle | 17 +-
.../MicronautSingletonGrailsPlugin.groovy} | 19 +-
.../plugins/micronaut/PluginMessageProvider.java} | 7 +-
.../plugins/micronaut/PluginSingletonService.java} | 19 +-
settings.gradle | 4 +
105 files changed, 4737 insertions(+), 409 deletions(-)
create mode 100644
grails-core/src/test/groovy/org/grails/compiler/injection/ApplicationClassInjectorSpec.groovy
create mode 100644
grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/ExistsCrossJoinSpec.groovy
create mode 100644
grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/connections/WhereQueryMultiDataSourceSpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/grails/gorm/services/WhereConnectionRoutingSpec.groovy
create mode 100644
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/query/criteria/DetachedCriteriaCloneSpec.groovy
copy
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/{TestEntity.groovy
=> WhereRoutingItem.groovy} (74%)
copy
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/{ChildEntity.groovy
=> WhereRoutingItemService.groovy} (67%)
create mode 100644
grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/WhereQueryConnectionRoutingSpec.groovy
copy
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/{test/AssertJValidator.java
=> micronaut/GrailsMicronautValidator.java} (71%)
create mode 100644
grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/GrailsGradlePluginJavaCompatSpec.groovy
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/java-compat-no-toolchain/build.gradle
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-no-toolchain}/gradle.properties (100%)
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-no-toolchain}/grails-app/conf/application.yml (100%)
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-no-toolchain}/settings.gradle (100%)
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/java-compat-toolchain-23/build.gradle
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-toolchain-23}/gradle.properties (100%)
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-toolchain-23}/grails-app/conf/application.yml (100%)
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-toolchain-23}/settings.gradle (100%)
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/java-compat-toolchain-24/build.gradle
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-toolchain-24}/gradle.properties (100%)
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-toolchain-24}/grails-app/conf/application.yml (100%)
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-toolchain-24}/settings.gradle (100%)
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/java-compat-toolchain-current/build.gradle
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-toolchain-current}/gradle.properties (100%)
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-toolchain-current}/grails-app/conf/application.yml (100%)
copy
grails-gradle/plugins/src/test/resources/test-projects/{fork-settings-custom =>
java-compat-toolchain-current}/settings.gradle (100%)
copy
grails-test-examples/{app1/src/integration-test/groovy/functionaltests/BookIntegrationSpec.groovy
=> gorm/src/integration-test/groovy/gorm/ExistsSpec.groovy} (55%)
copy grails-test-examples/{micronaut => micronaut-groovy-only}/build.gradle
(71%)
copy grails-test-examples/{micronaut =>
micronaut-groovy-only}/grails-app/conf/application.yml (74%)
copy grails-test-examples/{mongodb/base/grails-app/controllers =>
micronaut-groovy-only/grails-app/controllers/micronautgroovyonly}/UrlMappings.groovy
(96%)
copy grails-test-examples/{issue-11767/grails-app/init/issue11767/app =>
micronaut-groovy-only/grails-app/init/micronautgroovyonly}/Application.groovy
(97%)
copy grails-test-examples/{micronaut/grails-app/services/micronaut =>
micronaut-groovy-only/grails-app/services/micronautgroovyonly}/BeanInjectionService.groovy
(97%)
copy grails-test-examples/{micronaut/grails-app/services/micronaut =>
micronaut-groovy-only/grails-app/services/micronautgroovyonly}/TestService.groovy
(97%)
copy grails-test-examples/{micronaut/src/integration-test/groovy/micronaut =>
micronaut-groovy-only/src/integration-test/groovy/micronautgroovyonly}/BeanInjectionServiceSpec.groovy
(98%)
copy grails-test-examples/{micronaut/src/integration-test/groovy/micronaut =>
micronaut-groovy-only/src/integration-test/groovy/micronautgroovyonly}/MicronautContextSpec.groovy
(89%)
copy grails-test-examples/{micronaut/src/integration-test/groovy/micronaut =>
micronaut-groovy-only/src/integration-test/groovy/micronautgroovyonly}/MicronautQualifierSpec.groovy
(92%)
copy
grails-test-examples/{plugins/issue-11767/src/main/groovy/issue11767/plugin/PluginGroovyMicronautBean.groovy
=> micronaut-groovy-only/src/main/groovy/bean/injection/AppConfig.groovy} (88%)
copy
grails-test-examples/{micronaut/grails-app/services/micronaut/TestService.groovy
=>
micronaut-groovy-only/src/main/groovy/bean/injection/FactoryCreatedService.groovy}
(92%)
copy
grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/init/BootStrap.groovy
=>
grails-test-examples/micronaut-groovy-only/src/main/groovy/bean/injection/NamedService.groovy
(92%)
copy grails-test-examples/{micronaut =>
micronaut-groovy-only}/src/main/groovy/bean/injection/PrimaryNamedService.groovy
(99%)
copy grails-test-examples/{micronaut =>
micronaut-groovy-only}/src/main/groovy/bean/injection/Qualified.groovy (100%)
copy grails-test-examples/{micronaut =>
micronaut-groovy-only}/src/main/groovy/bean/injection/QualifiedNamedService.groovy
(99%)
copy grails-test-examples/{micronaut =>
micronaut-groovy-only}/src/main/groovy/bean/injection/RegularNamedService.groovy
(99%)
copy
grails-test-examples/{micronaut/src/main/groovy/bean/injection/QualifiedNamedService.groovy
=> micronaut-groovy-only/src/main/groovy/bean/injection/ServiceFactory.groovy}
(77%)
copy grails-test-examples/{micronaut =>
micronaut-groovy-only}/src/main/groovy/bean/injection/SpecialNamedService.groovy
(100%)
create mode 100644
grails-test-examples/micronaut/grails-app/controllers/micronaut/ExternalApiController.groovy
copy
grails-test-examples/micronaut/grails-app/{services/micronaut/BeanInjectionService.groovy
=> controllers/micronaut/MicronautTestController.groovy} (63%)
create mode 100644
grails-test-examples/micronaut/grails-app/services/micronaut/ExternalApiService.groovy
create mode 100644
grails-test-examples/micronaut/src/integration-test/groovy/micronaut/MicronautBeanDuplicationSpec.groovy
create mode 100644
grails-test-examples/micronaut/src/integration-test/groovy/micronaut/MicronautBeanTypesSpec.groovy
create mode 100644
grails-test-examples/micronaut/src/integration-test/groovy/micronaut/MicronautDeclarativeClientSpec.groovy
create mode 100644
grails-test-examples/micronaut/src/integration-test/groovy/micronaut/MicronautErsatzAdvancedSpec.groovy
create mode 100644
grails-test-examples/micronaut/src/integration-test/groovy/micronaut/MicronautErsatzPatternSpec.groovy
create mode 100644
grails-test-examples/micronaut/src/integration-test/groovy/micronaut/MicronautErsatzRoundtripSpec.groovy
create mode 100644
grails-test-examples/micronaut/src/integration-test/groovy/micronaut/MicronautPluginBeanSpec.groovy
copy
grails-test-examples/{plugins/issue-11767/src/main/groovy/issue11767/plugin/PluginGroovyMicronautBean.groovy
=> micronaut/src/main/groovy/bean/injection/AppConfig.groovy} (88%)
copy
grails-test-examples/micronaut/{grails-app/services/micronaut/TestService.groovy
=> src/main/groovy/bean/injection/FactoryCreatedService.groovy} (92%)
copy
grails-test-examples/micronaut/src/main/groovy/bean/injection/{QualifiedNamedService.groovy
=> ServiceFactory.groovy} (77%)
create mode 100644
grails-test-examples/micronaut/src/main/groovy/micronaut/client/MicronautAdvancedClient.groovy
copy grails-bootstrap/src/main/groovy/grails/util/Described.groovy =>
grails-test-examples/micronaut/src/main/groovy/micronaut/client/MicronautFilteredClient.groovy
(67%)
copy
build-logic/docs-core/src/main/groovy/grails/doc/internal/FileResourceChecker.groovy
=>
grails-test-examples/micronaut/src/main/groovy/micronaut/client/MicronautHeaderClient.groovy
(65%)
copy
build-logic/docs-core/src/main/groovy/grails/doc/macros/HiddenMacro.groovy =>
grails-test-examples/micronaut/src/main/groovy/micronaut/client/MicronautPathClient.groovy
(62%)
copy
grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/PreviewClient.groovy
=>
grails-test-examples/micronaut/src/main/groovy/micronaut/client/MicronautReactiveClient.groovy
(55%)
copy
grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/PreviewClient.groovy
=>
grails-test-examples/micronaut/src/main/groovy/micronaut/client/MicronautTestClient.groovy
(56%)
copy
grails-test-examples/micronaut/src/main/{groovy/bean/injection/NamedService.java
=> java/bean/injection/JavaMessageProvider.java} (92%)
copy
grails-test-examples/micronaut/src/main/{groovy/bean/injection/NamedService.java
=> java/bean/injection/JavaSingletonService.java} (80%)
copy
grails-bootstrap/src/main/groovy/org/grails/exceptions/reporting/SourceCodeAware.java
=>
grails-test-examples/micronaut/src/main/java/micronaut/client/MicronautRetryableClient.java
(70%)
copy
grails-test-examples/{external-configuration/src/test/groovy/grails/plugin/externalconfig/ConfigWithEnvironmentBlock.groovy
=> micronaut/src/main/java/micronaut/filter/AuthTokenClientFilter.java} (67%)
copy grails-test-examples/plugins/{loadfirst =>
micronaut-singleton}/build.gradle (74%)
copy
grails-test-examples/plugins/{issue-11767/src/main/groovy/issue11767/plugin/MyPluginGrailsPlugin.groovy
=>
micronaut-singleton/src/main/groovy/micronaut/singleton/MicronautSingletonGrailsPlugin.groovy}
(74%)
copy
grails-test-examples/{micronaut/src/main/groovy/bean/injection/NamedService.java
=>
plugins/micronaut-singleton/src/main/java/com/example/grails/plugins/micronaut/PluginMessageProvider.java}
(87%)
copy
grails-test-examples/{views-functional-tests/grails-app/views/testGml/_cars.gml
=>
plugins/micronaut-singleton/src/main/java/com/example/grails/plugins/micronaut/PluginSingletonService.java}
(76%)