Oscar Westra van Holthe - Kind created AVRO-3403:
----------------------------------------------------
Summary: Migrate from JavaCC to ANTLR
Key: AVRO-3403
URL: https://issues.apache.org/jira/browse/AVRO-3403
Project: Apache Avro
Issue Type: Improvement
Components: build, dependencies, java, tools
Reporter: Oscar Westra van Holthe - Kind
Assignee: Oscar Westra van Holthe - Kind
Although JavaCC has been updated recently, there are quite some forks and
development is quite erratic. The best maintained fork also has no presence in
Maven Central yet. Worse (IMHO), it's Java only. This limits the use of the IDL
format to Java and the Avro tools.
As proposed on the mailling list last January, in the thread [Maintaining the
IDL in the 21st
century|https://lists.apache.org/thread/7c99hkkl59l78x5kyf7bd80cnyd1do3j], this
improvement issue is to migrate the code to ANTLR.
Related changes:
# Place the ANTLR grammar in a subdirectory in the toplevel {{share}}
directory, so it can be reused for other languages than Java (note: the Grammar
may not contain any actions/code).
# Ensure the IDL parsing API allows extending the IDL syntax to an {{.avsc}}
equivalent.
# Add a new {{java/idl}} module with the new parser. Make it a dependency of
the {{java/compiler}} module and use it instead of the old parser.
Bonus: this allows us to (also) create a parser that yields a single protocol
(at first) or schema (future change).
# Keep the old parser in the {{java/compiler}} module for backwards
compatibility, mark it as deprecated and document its removal in a future
version.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)