Jenkins has two ANTLR grammars: one to parse (a variation of) crontab
entries and one to parse label expressions for build agents.

As described in JENKINS-68652, compiling Jenkins on Java 18 or newer
currently fails in ANTLR Maven Plugin. Our versions of ANTLR and ANTLR
Maven Plugin, dating back 15 years, use terminally deprecated Java
features. The repository for the latter does not appear to have
survived the MojoHaus migration from Subversion to Git. The status quo
does not seem sustainable.

Given the lack of volunteer interest in JENKINS-68652 or alternatives
(e.g., writing a new parser without ANTLR), I have reached out to a
reputable ANTLR consulting firm with experience performing migrations
from ANTLR2 to ANTLR4. They are interested in the project and have
scoped the work required to migrate from ANTLR2 to ANTLR4, including
updating the grammars and the classes operating directly with the
parse-tree.

I am starting this thread to reach consensus on the technical side of
this proposal; namely, migrating from ANTLR2 to ANTLR4 to decrease
technical debt and facilitate compilation on Java 18 or newer. When we
have reached consensus that we would like to perform this migration, I
will then propose an agenda item for the next Jenkins governance
meeting. In that meeting, I plan to introduce the consulting firm,
walk through their proposal and fee, and request funding approval from
the governance board to begin the project.

If approved, I plan to be the primary point of contact with the
consulting firm as they prepare the pull request to migrate from
ANTLR2 to ANTLR4. The code is covered by automated testing, and I plan
to complete additional manual smoke testing beyond that. I also plan
to review and approve the pull request. If there are technical
questions regarding the scope of work or implementation plan, please
let me know and I will pass them along.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CAFwNDjqZWwQz8rkoFtyavST1xEiuJxPTAJr1O2wPGzinsJcTag%40mail.gmail.com.

Reply via email to