[
https://issues.apache.org/jira/browse/TAP5-2806?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17954888#comment-17954888
]
ASF subversion and git services commented on TAP5-2806:
-------------------------------------------------------
Commit 9ec4acb6ae5702d04567d13350aec18e5efa8b9c in tapestry-5's branch
refs/heads/master from Ben Weidig
[ https://gitbox.apache.org/repos/asf?p=tapestry-5.git;h=9ec4acb6a ]
TAP5-2806: beanmodel setup junit, add ProperyConduitSpec
> 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
(v8.20.10#820010)