[ 
https://issues.apache.org/jira/browse/TAP5-2806?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18131855#comment-18131855
 ] 

ASF subversion and git services commented on TAP5-2806:
-------------------------------------------------------

Commit 717524a5624f8ba37b2559ccb24c98ed90d80c14 in tapestry-5's branch 
refs/heads/property-expression-parser from Ben Weidig
[ https://gitbox.apache.org/repos/asf?p=tapestry-5.git;h=717524a56 ]

TAP5-2806: Verify existing property expression features

The tests are designed how it "should" be, not how it's currently
implemented.
There are multiple bugs/issues in the current implementation, like
TAP5-2808 (range subexpression in lists/maps), or supported identifiers
and platform charset.

Currently failing tests are disabled.


> Upgrade Antlr 3 to 4
> --------------------
>
>                 Key: TAP5-2806
>                 URL: https://issues.apache.org/jira/browse/TAP5-2806
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: beanmodel
>            Reporter: Ben Weidig
>            Assignee: Ben Weidig
>            Priority: Minor
>
> Currently, Antlr 3.5.2 is used by beanmodel.
> While there is no immediate pressure to upgrade or obvious security 
> implications, migrating to 4 would provide long-term benefits for the project.
> h2. Rationale
>  * {*}Improved architecture{*}: Antlr 4 was a rewrite of the platform. Even 
> though 3 still has a large user base, 4 was released in 2013, is a more 
> modern and maintainable approach. Over time, resources and knowledge 
> regarding 3 will diminish.
>  * {*}Performance{*}: 4 offers better parsing efficiency and memory usage. 
> The grammar syntax changes allow the simplification of certain constructs 
> currently present in the Tapestry grammar.
>  * {*}Continued Development{*}: While 3 is stable, since 3.5.2 in 2014, 
> there's been only a singular release, 3.5.3, in 2022, which mainly included 
> project management changes. 4 has seen frequent-ish releases over time, with 
> the last one being 4.13.2 in 2024.
>  * {*}Technical debt reduction{*}: Upgrading now as part of regular 
> maintenance would be less disruptive than being forced to upgrade under 
> pressure due to a future security advisory or compatibility issue.
> h2. Proposed Approach
>  * Open up BeanModelSourceBuilder to make it easier to get a 
> PropertyConduitSource without the full IoC
>  * Create tests using the current Antlr 3 grammar to verify Tapestry behavior
>  * Upgrade to 4 and adapt our code as necessary
>  * Verify success through testing



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to