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

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

commit 5752ba0f58379a588de77487e7540103d88fef49
Merge: c4f60ce5f2 df895a74a4
Author: Scott Murphy <[email protected]>
AuthorDate: Sat Aug 22 20:14:21 2026 -0700

    Merge pull request #16134 from 
codeconsole/feat/taglib-compile-time-index-8.0.x
    
    Resolve tag calls at compile time instead of through the metaclass

 end-to-end/README.md                               |   1 +
 end-to-end/settings.gradle                         |   4 +
 end-to-end/taglib-index-incremental/build.gradle   |  54 ++
 .../taglib/TagLibraryIndexIncrementalSpec.groovy   | 241 ++++++++
 gradle/rat-root-config.gradle                      |   1 +
 .../common/compiler/GroovyTransformOrder.groovy    |   7 +
 .../TagLibraryInvokerTypeCheckingExtension.groovy  |   7 +
 grails-doc/src/en/guide/introduction/whatsNew.adoc |  44 ++
 .../theWebLayer/gsp/taglibs/compiledTags.adoc      | 308 +++++++++++
 grails-doc/src/en/guide/toc.yml                    |   1 +
 .../src/en/guide/upgrading/upgrading80x.adoc       | 156 ++++++
 .../plugin/core/GrailsCompileStaticOptions.groovy  |  53 ++
 .../views/gsp/GenerateTagLibraryIndexTask.groovy   | 206 +++++++
 .../plugin/views/gsp/GroovyPagePlugin.groovy       | 230 +++++++-
 .../plugin/views/gsp/TagLibraryIndexFiles.groovy   | 133 +++++
 .../gsp/GenerateTagLibraryIndexTaskSpec.groovy     | 231 ++++++++
 .../views/gsp/TagLibraryIndexFilesSpec.groovy      | 113 ++++
 .../gsp/TagLibraryIndexWiringFunctionalSpec.groovy | 131 +++++
 .../test-projects/taglib-index-wiring/build.gradle |  32 ++
 .../taglib-index-wiring/settings.gradle            |   1 +
 .../src/main/groovy/org/grails/gsp/GroovyPage.java |  47 ++
 .../org/grails/gsp/GroovyPagesMetaUtils.groovy     |  25 +-
 .../GroovyPageTypeCheckingExtension.groovy         |  29 +
 .../grails/gsp/GroovyPageMethodMissingSpec.groovy  | 120 ++++
 .../grails/core/gsp/DefaultGrailsTagLibClass.java  |  24 +-
 .../org/grails/taglib/CompiledTagInvocation.java   | 215 +++++++
 .../grails/taglib/NamespacedTagDispatcher.groovy   |  23 +-
 .../taglib/TagLibNamespaceMethodDispatcher.groovy  |   2 +-
 .../org/grails/taglib/TagLibraryMetaUtils.groovy   |  56 +-
 .../groovy/org/grails/taglib/TagMethodInvoker.java | 217 ++++----
 .../taglib/TemplateNamespacedTagDispatcher.groovy  |  16 +-
 .../grails/taglib/discovery/AstTagLibraryView.java |  85 +++
 .../grails/taglib/discovery/AstTagMethodView.java  | 127 +++++
 .../taglib/discovery/ReflectedTagLibraryView.java  |  73 +++
 .../taglib/discovery/ReflectedTagMethodView.java   | 110 ++++
 .../grails/taglib/discovery/TagDiscoveryRules.java | 187 +++++++
 .../taglib/discovery/TagLibraryAstDiscovery.java   |  88 +++
 .../grails/taglib/discovery/TagLibraryView.java    |  53 ++
 .../org/grails/taglib/discovery/TagMethodView.java | 103 ++++
 .../org/grails/taglib/index/TagLibraryIndex.java   | 526 ++++++++++++++++++
 .../grails/taglib/index/TagLibraryIndexEntry.java  |  47 +-
 .../taglib/index/TagLibraryIndexGenerator.java     | 431 ++++++++++++++
 .../grails/taglib/index/TagLibraryIndexWriter.java | 212 +++++++
 .../grails/taglib/index/TagLibraryIndexSpec.groovy | 340 ++++++++++++
 .../TagLibraryIndexWriterConcurrencySpec.groovy    | 127 +++++
 .../main/groovy/grails/artefact/TagLibrary.groovy  |  29 +-
 .../grails/artefact/gsp/TagLibraryInvoker.groovy   |  20 +-
 .../taglib/compiler/CompiledTagCallRewriter.java   | 616 +++++++++++++++++++++
 .../gsp/taglib/compiler/LocalNameCollector.java    | 131 +++++
 .../gsp/taglib/compiler/PageBindingCollector.java  |  93 ++++
 .../TagLibArtefactTypeAstTransformation.java       |  88 ++-
 .../taglib/discovery/TagDiscoveryRulesSpec.groovy  | 122 ++++
 .../taglib/discovery/TagSetAgreementSpec.groovy    |  98 ++++
 .../taglib/index/SingleIndexProducerSpec.groovy    | 126 +++++
 .../index/SourceResolvedIndexGeneratorSpec.groovy  | 452 +++++++++++++++
 .../index/TagLibraryIndexGeneratorSpec.groovy      | 301 ++++++++++
 .../web/taglib/NoMetaClassMutationSpec.groovy      | 104 ++++
 .../web/taglib/TagLibraryLookupIndexSpec.groovy    | 118 ++++
 .../org/grails/web/taglib/TagPrecedenceSpec.groovy | 112 ++++
 grails-gsp/plugin/build.gradle                     |   1 +
 .../traits/CompiledTagCallTransformation.groovy    | 109 ++++
 ...org.codehaus.groovy.transform.ASTTransformation |   1 +
 .../plugins/web/GroovyPagesGrailsPlugin.groovy     |   4 +-
 .../web/taglib/CompiledPageTagCallSpec.groovy      | 138 +++++
 .../web/taglib/CompiledTagCallBytecodeSpec.groovy  | 284 ++++++++++
 .../web/taglib/CompiledTagCallRewriterSpec.groovy  |  53 ++
 .../CompiledTagCallTransformationOrderSpec.groovy  |  68 +++
 .../web/taglib/CompiledTagInvocationSpec.groovy    | 146 +++++
 .../web/taglib/ControllerTagCallRewriteSpec.groovy | 156 ++++++
 .../taglib/GroovyMethodNameCollisionSpec.groovy    | 212 +++++++
 .../web/taglib/GspStaticTagResolutionSpec.groovy   | 181 ++++++
 .../grails/web/taglib/IndexEdgeCaseTagLib.groovy   |  65 +++
 .../grails/web/taglib/RewrittenCallsTagLib.groovy  |  52 ++
 .../web/taglib/RewrittenPageRenderingSpec.groovy   |  92 +++
 .../web/taglib/SameProjectTagResolutionSpec.groovy | 129 +++++
 .../grails/web/taglib/TagCallShadowingSpec.groovy  | 236 ++++++++
 .../web/taglib/TagLibraryIndexAgreementSpec.groovy | 119 ++++
 .../taglib/TagLibraryInvokerDispatchSpec.groovy    | 176 ++++++
 .../grails/plugins/mail/PlainTextMailTagLib.groovy |   2 +-
 .../plugins/mail/PlainTextMailTagLibSpec.groovy    |  50 ++
 .../functionaltests/IncludesController.groovy      |  13 +
 .../functionaltests/CompiledTagCallSpec.groovy     |  66 +++
 .../grails/testing/web/GrailsWebUnitTest.groovy    |   3 +
 83 files changed, 9768 insertions(+), 235 deletions(-)


Reply via email to