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%)

Reply via email to