You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by ja...@apache.org on 2026/06/01 22:28:47 UTC

(grails-core) branch feat/grails-code-analysis-plugin updated (3b808a9bb8 -> f1ce56b6f8)

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

jamesfredley pushed a change to branch feat/grails-code-analysis-plugin
in repository https://gitbox.apache.org/repos/asf/grails-core.git


    from 3b808a9bb8 Fix code-style report path in violation-aggregation spec
     add 9a3ce31262 Add method-based TagLib handlers with legacy compatibility and docs update
     add 106c92c841 Document typed attribute-to-argument binding for method TagLib syntax
     add 1d708b1568 Add typed method-argument TagLib example to simple tags guide
     add f42e058c6e Bind Map tag method args by name except reserved attrs map
     add 0eb22dd003 Refine FormTagLib typed overloads and guard non-public tag methods
     add 3854084fd3 Simplify FormTagLib typed overloads by removing redundant name reassignment
     add 78c0d84a3b Optimize tag invocation dispatch with concurrent-safe method caching
     add 4d8238ca01 Fix method taglib compatibility regressions across fields and gsp
     add 40d2458855 Fix method-based TagLib dispatch: prevent helper methods from being registered as tag methods
     add 6683ca60c3 fixing more issues with testing
     add e53430a155 missing some methods
     add 60bcdaed06 Merge branch '8.0.x' into feature/taglib-method-actions
     add c3b4cf038d styling: fix import order
     add c1db2b3fa8 Fix raw lookup to be CompileStatic
     add 5103ee38bc feature - ability to rerun tests without having to rerun all tasks
     add c1d07b0019 Test pollution fixes & cleanup
     add b7a7a5f8fd Attempting to fix test pollution
     add 5680d197ea Merge branch '8.0.x' into feature/taglib-method-actions
     add 567d14d77d Prevent test pollution
     add 1ce43221ae Fix is* invocations
     add 9d1c76b197 Adjust code style
     add 531150c310 Always clear taglib metaclasses in web test cleanup
     add 68a404980f Tighten method tag dispatch and preserve taglib remocking
     add 06c93bf1f0 Document Grails 8 taglib updates
     add 9ef3130e68 Codestyle fixes
     add 79d4d0b941 Merge branch '8.0.x' into feature/taglib-method-actions
     add bad5577df9 Restore taglib namespace lookups after web cleanup
     add 5f439ecd85 Fix calling a taglib directly
     add d8b13a08ec Merge branch '8.0.x' into feature/taglib-method-actions
     add 2e8ab1f7ef Remove unused import
     add 9ab3547e0d Move taglib mocks to setup() instead of setupSpec()
     add 4017fe083c Merge branch '8.0.x' into feature/taglib-method-actions
     add 20e515d12a Update rat-config for generated files
     add 38d41c8f61 Fix bad merge
     add 7c89b784af Address PR review feedback for method-based TagLib handlers
     add 9b4db4f210 Merge branch '8.0.x' into feature/taglib-method-actions
     add aae4049ddb Enable Java and Groovy parameter metadata in Grails Gradle app builds so typed method tag arguments bind reliably in user applications. Narrow method tag discovery to avoid exposing public helper methods as tags by default. Conventional attrs/body signatures remain supported, while zero-arg and typed-parameter method tags require @Tag. Preserve @NotATag opt-out behavior and add debug logging when tag dispatchers override existing methods. Expand unit, Gradle plugin, do [...]
     add f44b526c53 Update docs for new Tag annotation
     add 9910256d3b Update test to use `@Tag`
     add a95f303d65 Merge branch '8.0.x' into feature/taglib-method-actions
     add ddeb082a68 update to use GrailsExtension parameter name flag
     add b64974f300 Fix codestyle
     add 11cf62f0f7 Update test examples for now explicit `@Tag` requirement
     add b0c8aca328 Merge branch '8.0.x' into feature/taglib-method-actions
     add 6fad33e072 docs: document TagLib method-handler edge cases in upgrade guides
     add 1d20b9943b docs: relocate method-based TagLib upgrade guide content to 8.x
     add b7527c1a9f Merge branch '8.0.x' into feature/taglib-method-actions
     add b7bc378366 Merge branch '8.0.x' into feature/taglib-method-actions
     add ac449c837a Merge branch '8.0.x' into feature/taglib-method-actions
     add a11ff6c051 Merge pull request #15465 from apache/feature/taglib-method-actions
     add 32302e054c fix(deps): Bump Spring Boot to 4.1.0-RC1
     add 096547aa97 Merge pull request #15704 from apache/deps/spring-boot-4.1.0-RC1
     add d2b4b7450c AGENTS.md: link the project's security model for agent discoverability
     add 02ab229be2 Merge pull request #15706 from potiuk/asf-security/agents-md-security-link-2026-05-31
     add bdb1e00664 Add grails-hibernate5-micronaut BOM (Micronaut BOM split)
     add 35527d80c5 Address Copilot review feedback on the Micronaut BOM split
     add a16b453bae Merge remote-tracking branch 'origin/8.0.x' into refactor/micronaut-bom-hibernate-split
     add 31ec1060bc fix(bom): exclude tools.jackson from grails-hibernate5-micronaut-bom platform
     add 84a9870f8c Merge pull request #15689 from apache/refactor/micronaut-bom-hibernate-split
     add f1ce56b6f8 Merge branch '8.0.x' into feat/grails-code-analysis-plugin

No new revisions were added by this update.

Summary of changes:
 AGENTS.md                                          |   5 +
 .../gradle/tasks/bom/PropertyNameCalculator.groovy |  15 ++
 .../apache/grails/buildsrc/CompilePlugin.groovy    |   3 +-
 .../GrailsDependencyValidatorPlugin.groovy         |   2 +-
 dependencies.gradle                                |  15 +-
 gradle/publish-root-config.gradle                  |  11 +-
 gradle/rat-root-config.gradle                      |   7 +
 .../build.gradle                                   |  15 +-
 grails-doc/src/en/guide/conf/micronaut.adoc        |  19 +-
 grails-doc/src/en/guide/introduction/whatsNew.adoc |  10 +-
 .../unitTesting/unitTestingTagLibraries.adoc       |   8 +-
 .../src/en/guide/theWebLayer/gsp/taglibs.adoc      |  74 +++++-
 .../theWebLayer/gsp/taglibs/iterativeTags.adoc     |   4 +-
 .../guide/theWebLayer/gsp/taglibs/logicalTags.adoc |   2 +-
 .../guide/theWebLayer/gsp/taglibs/namespaces.adoc  |   4 +-
 .../guide/theWebLayer/gsp/taglibs/simpleTags.adoc  |  18 +-
 .../theWebLayer/gsp/taglibs/tagReturnValue.adoc    |  12 +-
 grails-doc/src/en/guide/theWebLayer/taglibs.adoc   |  74 +++++-
 .../src/en/guide/upgrading/upgrading80x.adoc       | 188 +++++++++++++-
 .../plugin/formfields/FormFieldsTagLib.groovy      |  26 +-
 .../gradle/plugin/core/GrailsGradlePlugin.groovy   |  25 +-
 .../src/main/groovy/org/grails/gsp/GroovyPage.java |  30 ++-
 .../grails/web/layout/RenderTagLibTests.groovy     |   1 +
 .../src/main/groovy/grails/gsp/NotATag.java}       |  14 +-
 .../src/main/groovy/grails/gsp/Tag.java            |  12 +-
 .../grails/core/gsp/DefaultGrailsTagLibClass.java  |   2 +
 .../groovy/org/grails/taglib/TagLibraryLookup.java |  12 +
 .../org/grails/taglib/TagLibraryMetaUtils.groovy   | 115 ++++++++-
 .../groovy/org/grails/taglib/TagMethodContext.java |  59 +++++
 .../groovy/org/grails/taglib/TagMethodInvoker.java | 284 ++++++++++++++++++++
 .../main/groovy/org/grails/taglib/TagOutput.java   |  25 +-
 .../org/grails/taglib/TagMethodInvokerSpec.groovy  | 286 +++++++++++++++++++++
 .../main/groovy/grails/artefact/TagLibrary.groovy  |  49 +++-
 .../grails/artefact/gsp/TagLibraryInvoker.groovy   |   8 +
 .../TagLibArtefactTypeAstTransformation.java       |  30 +++
 .../TagLibArtefactTypeAstTransformationSpec.groovy |  71 +++++
 .../plugins/web/taglib/ApplicationTagLib.groovy    |  80 +++---
 .../grails/plugins/web/taglib/CountryTagLib.groovy |   4 +-
 .../grails/plugins/web/taglib/FormTagLib.groovy    |  82 +++---
 .../grails/plugins/web/taglib/FormatTagLib.groovy  |  10 +-
 .../plugins/web/taglib/JavascriptTagLib.groovy     |   4 +-
 .../grails/plugins/web/taglib/PluginTagLib.groovy  |   6 +-
 .../plugins/web/taglib/UrlMappingTagLib.groovy     |  22 +-
 .../plugins/web/taglib/ValidationTagLib.groovy     |  22 +-
 .../mapping/RestfulReverseUrlRenderingTests.groovy |  22 --
 .../web/mapping/ReverseUrlMappingTests.groovy      |   1 -
 .../grails/web/mapping/RootUrlMappingTests.groovy  |   1 -
 .../web/taglib/FormTagLibResourceTests.groovy      |   2 -
 .../web/taglib/LinkRenderingTagLib2Tests.groovy    |   1 -
 .../web/taglib/LinkRenderingTagLibTests.groovy     |   3 +-
 .../web/taglib/MethodDefinedTagLibSpec.groovy      | 229 +++++++++++++++++
 ...ethodVsClosureTagInvocationBenchmarkSpec.groovy |  82 ++++++
 .../taglib/NamespacedNamedUrlMappingTests.groovy   |   2 +-
 .../org/grails/web/taglib/RenderTagLibTests.groovy |   1 +
 .../grails/web/taglib/ValidationTagLibSpec.groovy  |  12 +-
 .../functionaltests/MiscController.groovy          |  10 +
 .../taglib/functionaltests/MethodTagLib.groovy}    |  55 ++--
 .../functionaltests/SharedNsClosureTagLib.groovy}  |   9 +-
 .../functionaltests/SharedNsMethodTagLib.groovy}   |  14 +-
 .../{forwarding/list.gsp => misc/tagMethods.gsp}   |  24 +-
 .../functionaltests/MiscFunctionalSpec.groovy      |  27 ++
 .../grails-app/taglib/demo/FirstTagLib.groovy      |   6 +-
 .../grails-app/taglib/demo/SampleTagLib.groovy     |  14 +-
 .../grails-app/taglib/demo/SecondTagLib.groovy     |   5 +-
 .../src/test/groovy/demo/FirstTagLibSpec.groovy    |   2 +-
 .../build.gradle                                   |  32 ++-
 .../grails-app/conf/application.yml                |  24 +-
 .../grails-app/conf/logback.xml                    |   0
 .../micronaut/hibernate5/UrlMappings.groovy}       |  21 +-
 .../init/micronaut/hibernate5/Application.groovy}  |  22 +-
 .../grails-app/views/index.gsp                     |  25 ++
 .../hibernate5/ApplicationStartupSpec.groovy       |  33 +++
 .../test/mixin/GroovyPageUnitTestMixinTests.groovy |   2 +-
 .../grails/testing/web/GrailsWebUnitTest.groovy    |  18 +-
 .../grails/testing/web/UrlMappingsUnitTest.groovy  |  41 +++
 .../testing/web/taglib/TagLibUnitTest.groovy       |  50 +++-
 .../runtime/support/LazyTagLibraryLookup.java      |   9 +
 .../spock/UrlMappingCleanupInterceptor.groovy      |  14 +-
 .../spock/UrlMappingSetupSpecInterceptor.groovy    |  16 +-
 .../testing/spock/WebCleanupInterceptor.groovy     |   6 +
 .../testing/spock/WebCleanupSpecInterceptor.groovy |  15 --
 .../spock/WebTestingSupportExtension.groovy        |   3 +
 settings.gradle                                    |   4 +
 83 files changed, 2234 insertions(+), 388 deletions(-)
 copy grails-bom/{micronaut => hibernate5-micronaut}/build.gradle (93%)
 copy grails-gsp/{grails-web-taglib/src/main/groovy/grails/gsp/TagLib.java => grails-taglib/src/main/groovy/grails/gsp/NotATag.java} (78%)
 copy grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transform/GormASTTransformationClass.java => grails-gsp/grails-taglib/src/main/groovy/grails/gsp/Tag.java (84%)
 create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/TagMethodContext.java
 create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/TagMethodInvoker.java
 create mode 100644 grails-gsp/grails-taglib/src/test/groovy/org/grails/taglib/TagMethodInvokerSpec.groovy
 create mode 100644 grails-gsp/grails-web-taglib/src/test/groovy/grails/gsp/taglib/compiler/TagLibArtefactTypeAstTransformationSpec.groovy
 create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/MethodDefinedTagLibSpec.groovy
 create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/MethodVsClosureTagInvocationBenchmarkSpec.groovy
 copy grails-test-examples/{app4/grails-app/controllers/app4/TopicController.groovy => app1/grails-app/taglib/functionaltests/MethodTagLib.groovy} (51%)
 copy grails-test-examples/app1/grails-app/{domain/functionaltests/Bar.groovy => taglib/functionaltests/SharedNsClosureTagLib.groovy} (86%)
 copy grails-test-examples/app1/grails-app/{domain/functionaltests/Book.groovy => taglib/functionaltests/SharedNsMethodTagLib.groovy} (84%)
 copy grails-test-examples/app1/grails-app/views/{forwarding/list.gsp => misc/tagMethods.gsp} (68%)
 copy grails-test-examples/{scaffolding-fields => micronaut-hibernate5}/build.gradle (69%)
 copy grails-test-examples/{micronaut-groovy-only => micronaut-hibernate5}/grails-app/conf/application.yml (77%)
 copy {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/micronaut-hibernate5}/grails-app/conf/logback.xml (100%)
 copy grails-test-examples/{jetty/grails-app/assets/stylesheets/application.css => micronaut-hibernate5/grails-app/controllers/micronaut/hibernate5/UrlMappings.groovy} (61%)
 copy grails-test-examples/{jetty/grails-app/assets/stylesheets/application.css => micronaut-hibernate5/grails-app/init/micronaut/hibernate5/Application.groovy} (52%)
 create mode 100644 grails-test-examples/micronaut-hibernate5/grails-app/views/index.gsp
 create mode 100644 grails-test-examples/micronaut-hibernate5/src/integration-test/groovy/micronaut/hibernate5/ApplicationStartupSpec.groovy
 copy grails-testing-support-core/src/main/groovy/org/grails/testing/spock/CleanupContextInterceptor.groovy => grails-testing-support-web/src/main/groovy/org/grails/testing/spock/UrlMappingCleanupInterceptor.groovy (71%)