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

jamesfredley pushed a change to branch micronaut-fixes-2
in repository https://gitbox.apache.org/repos/asf/grails-core.git


    from 749364dd9a Remove unused imports
     add 50ceb6f46d Document CodeNarc configuration for Grails projects
     add 5c1baa1caa Align CodeNarc docs with canonical ruleset and 
grails-server-timing feedback
     add 19ce40acdc Move code analysis out of testing into new section per 
review
     add ceb3e52195 Merge branch '7.0.x' into docs/codenarc-gorm-compatibility
     add dd033e5b98 Merge pull request #15404 from 
jamesfredley/docs/codenarc-gorm-compatibility
     add 749ac0edd0 Propagate Java toolchain to JavaExec tasks
     add fec38f4908 Rewrite toolchain tests to Spock with file-based fixtures
     add 5d7c861a40 fix: move test system properties to shared 
test-config.gradle
     add 63beaf36fb Merge pull request #15403 from 
jamesfredley/fix/javaexec-toolchain-inheritance
     add c441af1fa8 fix: reject unsupported JSP/Groovy declaration blocks in 
GSP parser
     add 8472bb3b69 Merge pull request #15398 from 
jamesfredley/fix/gsp-declaration-block-error
     add 55b443443b fix: route auto-implemented save/delete/get through 
connection-aware API
     add 07fb4937af fix: route FindAndDeleteImplementer through 
connection-aware API + add tests
     add 6524784893 test: add DataServiceMultiDataSourceSpec and functional 
test app for connection routing
     add 1b5c7c1589 test: add logback.xml to functional test app
     add cad5796a38 refactor: harmonize newMethodNode usage and add interface 
Data Service TCK tests
     add 3e742f6aab Merge branch '7.0.x' into 
fix/data-service-connection-routing
     add 647ffd41bb test: clean up some tests and improve readability
     add 7cfae2f071 fix: use abstractMethodNode for findConnectionId to resolve 
class-level @Transactional annotations
     add 66fcfb85e5 test: clean up and improve readability
     add 0202ae682b Merge pull request #15395 from 
jamesfredley/fix/data-service-connection-routing
     add 3a7c0f99a5 fix: remove @CompileStatic-incompatible lazy getters from 
@Service abstract classes
     add 70a04fdeb0 test: add functional test for @CompileStatic service with 
injected @Service property
     add aa9fb52c9c fix: address Copilot review - correct comment and test name 
accuracy
     add e71a310230 fix: remove unused imports left over from lazy getter 
removal
     add b4c9e6ce21 style: whitespace for readability
     add 0cb1654740 style(test): formatting
     add bc9aa89836 Merge pull request #15396 from 
jamesfredley/fix/compile-static-service-injection
     add f09f5f90c4 fix: use Page Object pattern for flaky Geb tests across all 
subprojects
     add 4be5f97fe8 fix: address review feedback - add leading slashes to URLs, 
rename AdminPagePage/FrontendPagePage
     add 138c52665e test: some more cleanup of geb specs
     add 2e3bf9d477 ci: trigger CI re-run
     add 8519169c4f docs: correct timeout settings in Geb README.md
     add 4e643d216f chore: double the Geb timeout setting for CI to 10 seconds
     add 7a40ae107d fix(geb): overriding default timeouts with settings
     add aad9bf13b2 Merge branch '7.0.x' into fix/flaky-geb-tests
     add 93e150c0df Merge pull request #15410 from 
jamesfredley/fix/flaky-geb-tests
     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

No new revisions were added by this update.

Summary of changes:
 gradle/functional-test-config.gradle               |   1 +
 .../AbstractHibernateGormStaticApi.groovy          |   2 +-
 .../orm/hibernate/ExistsCrossJoinSpec.groovy       | 122 +++++++
 .../DataServiceMultiDataSourceSpec.groovy          | 365 ++++++++++++++++++++
 .../gorm/tests/MultipleDataSourceSpec.groovy       |  67 ++--
 ...stractDetachedCriteriaServiceImplementor.groovy |  13 +-
 .../implementers/AbstractSaveImplementer.groovy    |   6 +-
 .../services/implementers/DeleteImplementer.groovy |  11 +-
 .../implementers/FindAndDeleteImplementer.groovy   |  32 +-
 .../services/implementers/SaveImplementer.groovy   |  19 +-
 .../implementers/UpdateOneImplementer.groovy       |   2 +-
 .../transform/ServiceTransformation.groovy         |  23 +-
 .../CompileStaticServiceInjectionSpec.groovy       | 356 +++++++++++++++++++
 .../ConnectionRoutingServiceTransformSpec.groovy   | 380 +++++++++++++++++++++
 .../src/en/guide/bestPractices.adoc                |   4 +-
 .../en/guide/bestPractices/codeAnalysisGroovy.adoc | 159 +++++++++
 grails-doc/src/en/guide/toc.yml                    |   3 +
 grails-geb/README.md                               |   2 +-
 .../src/main/templates/FunctionalSpec.groovy       |  19 +-
 .../plugin/geb/WebDriverContainerHolder.groovy     |   4 +-
 grails-gradle/gradle/test-config.gradle            |   2 +
 grails-gradle/plugins/build.gradle                 |  11 +
 .../gradle/plugin/core/GrailsGradlePlugin.groovy   |  39 +++
 .../gradle/plugin/core/GradleSpecification.groovy  | 134 ++++++++
 .../core/GrailsGradlePluginToolchainSpec.groovy    | 136 ++++++++
 .../fork-settings-custom/build.gradle              |  18 +
 .../fork-settings-custom/gradle.properties         |   1 +
 .../grails-app/conf/application.yml                |   0
 .../fork-settings-custom/settings.gradle           |   1 +
 .../fork-settings-defaults/build.gradle            |  18 +
 .../fork-settings-defaults/gradle.properties       |   1 +
 .../grails-app/conf/application.yml                |   0
 .../fork-settings-defaults/settings.gradle         |   1 +
 .../no-toolchain-javaexec/build.gradle             |  19 ++
 .../no-toolchain-javaexec/gradle.properties        |   1 +
 .../grails-app/conf/application.yml                |   0
 .../no-toolchain-javaexec/settings.gradle          |   1 +
 .../test-projects/no-toolchain-web/build.gradle    |   9 +
 .../no-toolchain-web/gradle.properties             |   1 +
 .../grails-app/conf/application.yml                |   0
 .../test-projects/no-toolchain-web/settings.gradle |   1 +
 .../test-projects/toolchain-command/build.gradle   |  25 ++
 .../toolchain-command/gradle.properties            |   1 +
 .../grails-app/conf/application.yml                |   0
 .../toolchain-command/settings.gradle              |   1 +
 .../test-projects/toolchain-javaexec/build.gradle  |  26 ++
 .../toolchain-javaexec/gradle.properties           |   1 +
 .../grails-app/conf/application.yml                |   0
 .../toolchain-javaexec/settings.gradle             |   1 +
 .../test-projects/toolchain-override/build.gradle  |  30 ++
 .../toolchain-override/gradle.properties           |   1 +
 .../grails-app/conf/application.yml                |   0
 .../toolchain-override/settings.gradle             |   1 +
 .../test-projects/toolchain-test/build.gradle      |  21 ++
 .../test-projects/toolchain-test/gradle.properties |   1 +
 .../toolchain-test/grails-app/conf/application.yml |   0
 .../test-projects/toolchain-test/settings.gradle   |   1 +
 .../org/grails/gsp/compiler/GroovyPageParser.java  |  13 +-
 .../groovy/org/grails/web/pages/ParseSpec.groovy   |  31 ++
 .../functionaltests/BookFunctionalSpec.groovy      |  47 ++-
 .../groovy/functionaltests/HomeSpec.groovy         |  37 +-
 .../groovy/functionaltests/LoadAfterSpec.groovy    |  10 +-
 .../functionaltests/MiscFunctionalSpec.groovy      |  28 +-
 .../layout/LayoutFunctionalSpec.groovy             |  27 +-
 .../layout/LayoutWithTemplateSpec.groovy           |  13 +-
 .../functionaltests/pages/BarListPage.groovy}      |  12 +-
 .../groovy/functionaltests/pages/BookPages.groovy} |  41 ++-
 .../pages/ConventionLayoutPage.groovy}             |  11 +-
 .../functionaltests/pages/FooLayoutPage.groovy}    |  12 +-
 .../pages/FooLayoutSnippetPage.groovy}             |  11 +-
 .../functionaltests/pages/FooListPage.groovy}      |  12 +-
 .../groovy/functionaltests/pages/HomePage.groovy}  |  16 +-
 .../functionaltests/pages/LoginAuthPage.groovy}    |  12 +-
 .../groovy/functionaltests/pages/MiscPages.groovy} |  28 +-
 .../functionaltests/pages/PartialPage.groovy}      |  11 +-
 .../scaffolding/BarFunctionalSpec.groovy           |  14 +-
 .../scaffolding/FooFunctionalSpec.groovy           |  14 +-
 .../groovy/app2/NotFoundHandlerSpec.groovy         |  22 +-
 .../groovy/app2/pages/FooPages.groovy}             |  19 +-
 .../groovy/app3/LoadAfterSpec.groovy               |   9 +-
 .../groovy/app3/pages/LoginAuthPage.groovy}        |  12 +-
 .../groovy/exploded/LoadAfterSpec.groovy           |   9 +-
 .../groovy/exploded/pages/LoginAuthPage.groovy}    |  11 +-
 .../services/gorm/AuthorDataService.groovy}        |  26 +-
 .../services/gorm/CompileStaticBookService.groovy  |  89 +++++
 .../groovy/gorm/ExistsSpec.groovy}                 |  51 +--
 .../groovy/gorm/GormDataServicesSpec.groovy        | 177 +++++++---
 .../build.gradle                                   |   0
 .../grails-app/conf/application.yml                |   4 -
 .../grails-app/conf/logback.xml                    |   0
 .../grails-app/domain/example/Product.groovy}      |  19 +-
 .../grails-app/init/example}/Application.groovy    |   2 +-
 .../services/example/ProductService.groovy}        |  34 +-
 .../DataServiceMultiDataSourceSpec.groovy          | 134 ++++++++
 .../functional/tests/BookControllerSpec.groovy     |  24 +-
 .../functional/tests/pages/BookPages.groovy}       |  37 +-
 .../functional/tests/BookControllerSpec.groovy     |  28 +-
 .../functional/tests/pages/BookPages.groovy}       |  37 +-
 .../functional/tests/AuthorControllerSpec.groovy   |  28 +-
 .../functional/tests/BookControllerSpec.groovy     |  28 +-
 .../functional/tests/pages/AuthorPages.groovy}     |  38 ++-
 .../functional/tests/pages/BookPages.groovy}       |  37 +-
 .../groovy/context/ContextPathSpec.groovy          |  23 +-
 .../groovy/context/pages/EnvironmentPages.groovy}  |  22 +-
 .../groovy/namespaces/PageControllerSpec.groovy    |  19 +-
 .../namespaces/admin/ReportControllerSpec.groovy   |  18 +-
 .../namespaces/admin/pages/ReportPages.groovy}     |  25 +-
 .../groovy/namespaces/pages/AdminPage.groovy}      |  12 +-
 .../groovy/namespaces/pages/FrontendPage.groovy}   |  12 +-
 .../scaffoldingfields/CrudFunctionalSpec.groovy    | 284 +++++++--------
 .../groovy/scaffoldingfields/FieldTypesSpec.groovy |  52 ++-
 .../scaffoldingfields/pages/DepartmentPages.groovy |   5 +
 .../scaffoldingfields/pages/EmployeePages.groovy   |  10 +
 .../pages/ScaffoldEditPage.groovy                  |   2 +-
 .../pages/ScaffoldShowPage.groovy                  |   2 +-
 settings.gradle                                    |   3 +
 116 files changed, 3055 insertions(+), 803 deletions(-)
 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/DataServiceMultiDataSourceSpec.groovy
 create mode 100644 
grails-datamapping-core/src/test/groovy/grails/gorm/services/CompileStaticServiceInjectionSpec.groovy
 create mode 100644 
grails-datamapping-core/src/test/groovy/grails/gorm/services/ConnectionRoutingServiceTransformSpec.groovy
 copy grails-async/README.adoc => grails-doc/src/en/guide/bestPractices.adoc 
(72%)
 create mode 100644 
grails-doc/src/en/guide/bestPractices/codeAnalysisGroovy.adoc
 create mode 100644 
grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/GradleSpecification.groovy
 create mode 100644 
grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/GrailsGradlePluginToolchainSpec.groovy
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/fork-settings-custom/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/fork-settings-custom/gradle.properties
 copy grails-forge/grails-forge-core/src/main/resources/.gitkeep => 
grails-gradle/plugins/src/test/resources/test-projects/fork-settings-custom/grails-app/conf/application.yml
 (100%)
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/fork-settings-custom/settings.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/fork-settings-defaults/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/fork-settings-defaults/gradle.properties
 copy grails-forge/grails-forge-core/src/main/resources/.gitkeep => 
grails-gradle/plugins/src/test/resources/test-projects/fork-settings-defaults/grails-app/conf/application.yml
 (100%)
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/fork-settings-defaults/settings.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/no-toolchain-javaexec/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/no-toolchain-javaexec/gradle.properties
 copy grails-forge/grails-forge-core/src/main/resources/.gitkeep => 
grails-gradle/plugins/src/test/resources/test-projects/no-toolchain-javaexec/grails-app/conf/application.yml
 (100%)
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/no-toolchain-javaexec/settings.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/no-toolchain-web/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/no-toolchain-web/gradle.properties
 copy grails-forge/grails-forge-core/src/main/resources/.gitkeep => 
grails-gradle/plugins/src/test/resources/test-projects/no-toolchain-web/grails-app/conf/application.yml
 (100%)
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/no-toolchain-web/settings.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-command/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-command/gradle.properties
 copy grails-forge/grails-forge-core/src/main/resources/.gitkeep => 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-command/grails-app/conf/application.yml
 (100%)
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-command/settings.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-javaexec/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-javaexec/gradle.properties
 copy grails-forge/grails-forge-core/src/main/resources/.gitkeep => 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-javaexec/grails-app/conf/application.yml
 (100%)
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-javaexec/settings.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-override/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-override/gradle.properties
 copy grails-forge/grails-forge-core/src/main/resources/.gitkeep => 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-override/grails-app/conf/application.yml
 (100%)
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-override/settings.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-test/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-test/gradle.properties
 copy grails-forge/grails-forge-core/src/main/resources/.gitkeep => 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-test/grails-app/conf/application.yml
 (100%)
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/toolchain-test/settings.gradle
 copy 
grails-test-examples/{geb-gebconfig/src/integration-test/groovy/org/demo/spock/pages/HomePage.groovy
 => app1/src/integration-test/groovy/functionaltests/pages/BarListPage.groovy} 
(82%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/LogoutPage.groovy
 => app1/src/integration-test/groovy/functionaltests/pages/BookPages.groovy} 
(52%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/UserListPage.groovy
 => 
app1/src/integration-test/groovy/functionaltests/pages/ConventionLayoutPage.groovy}
 (81%)
 copy 
grails-test-examples/{geb-gebconfig/src/integration-test/groovy/org/demo/spock/pages/HomePage.groovy
 => 
app1/src/integration-test/groovy/functionaltests/pages/FooLayoutPage.groovy} 
(81%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/UserListPage.groovy
 => 
app1/src/integration-test/groovy/functionaltests/pages/FooLayoutSnippetPage.groovy}
 (81%)
 copy 
grails-test-examples/{geb-gebconfig/src/integration-test/groovy/org/demo/spock/pages/HomePage.groovy
 => app1/src/integration-test/groovy/functionaltests/pages/FooListPage.groovy} 
(82%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/UserListPage.groovy
 => app1/src/integration-test/groovy/functionaltests/pages/HomePage.groovy} 
(77%)
 copy 
grails-test-examples/{geb-gebconfig/src/integration-test/groovy/org/demo/spock/pages/HomePage.groovy
 => 
app1/src/integration-test/groovy/functionaltests/pages/LoginAuthPage.groovy} 
(81%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/LogoutPage.groovy
 => app1/src/integration-test/groovy/functionaltests/pages/MiscPages.groovy} 
(64%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/UserListPage.groovy
 => app1/src/integration-test/groovy/functionaltests/pages/PartialPage.groovy} 
(81%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/CommunityUserListPage.groovy
 => app2/src/integration-test/groovy/app2/pages/FooPages.groovy} (75%)
 copy 
grails-test-examples/{geb-gebconfig/src/integration-test/groovy/org/demo/spock/pages/HomePage.groovy
 => app3/src/integration-test/groovy/app3/pages/LoginAuthPage.groovy} (82%)
 copy 
grails-test-examples/{geb-gebconfig/src/integration-test/groovy/org/demo/spock/pages/HomePage.groovy
 => exploded/src/integration-test/groovy/exploded/pages/LoginAuthPage.groovy} 
(82%)
 copy 
grails-test-examples/{hibernate5/grails-schema-per-tenant/grails-app/services/schemapertenant/BookService.groovy
 => gorm/grails-app/services/gorm/AuthorDataService.groovy} (69%)
 create mode 100644 
grails-test-examples/gorm/grails-app/services/gorm/CompileStaticBookService.groovy
 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/hibernate5/{grails-multitenant-multi-datasource => 
grails-data-service-multi-datasource}/build.gradle (100%)
 copy grails-test-examples/hibernate5/{grails-multitenant-multi-datasource => 
grails-data-service-multi-datasource}/grails-app/conf/application.yml (91%)
 copy grails-test-examples/hibernate5/{grails-multitenant-multi-datasource => 
grails-data-service-multi-datasource}/grails-app/conf/logback.xml (100%)
 copy 
grails-test-examples/hibernate5/{grails-multiple-datasources/grails-app/domain/ds2/Book.groovy
 => 
grails-data-service-multi-datasource/grails-app/domain/example/Product.groovy} 
(74%)
 copy 
grails-test-examples/hibernate5/{grails-hibernate-groovy-proxy/grails-app/init/datasources
 => 
grails-data-service-multi-datasource/grails-app/init/example}/Application.groovy
 (98%)
 copy 
grails-test-examples/hibernate5/{grails-data-service/grails-app/services/example/StudentService.groovy
 => 
grails-data-service-multi-datasource/grails-app/services/example/ProductService.groovy}
 (58%)
 create mode 100644 
grails-test-examples/hibernate5/grails-data-service-multi-datasource/src/integration-test/groovy/functionaltests/DataServiceMultiDataSourceSpec.groovy
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/LogoutPage.groovy
 => 
hibernate5/grails-hibernate/src/integration-test/groovy/functional/tests/pages/BookPages.groovy}
 (54%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/LogoutPage.groovy
 => 
mongodb/base/src/integration-test/groovy/functional/tests/pages/BookPages.groovy}
 (54%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/LogoutPage.groovy
 => 
mongodb/hibernate5/src/integration-test/groovy/functional/tests/pages/AuthorPages.groovy}
 (54%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/LogoutPage.groovy
 => 
mongodb/hibernate5/src/integration-test/groovy/functional/tests/pages/BookPages.groovy}
 (54%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/LogoutPage.groovy
 => 
namespaces/src/integration-test/groovy/context/pages/EnvironmentPages.groovy} 
(73%)
 copy 
grails-test-examples/{scaffolding/src/integrationTest/groovy/com/example/pages/LogoutPage.groovy
 => 
namespaces/src/integration-test/groovy/namespaces/admin/pages/ReportPages.groovy}
 (73%)
 copy 
grails-test-examples/{geb-gebconfig/src/integration-test/groovy/org/demo/spock/pages/HomePage.groovy
 => namespaces/src/integration-test/groovy/namespaces/pages/AdminPage.groovy} 
(81%)
 copy 
grails-test-examples/{geb-gebconfig/src/integration-test/groovy/org/demo/spock/pages/HomePage.groovy
 => 
namespaces/src/integration-test/groovy/namespaces/pages/FrontendPage.groovy} 
(81%)

Reply via email to