Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
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, 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.
Attachments
Issue Links
- is required by
-
AVRO-3404 Extend the IDL syntax to serve as a .avsc equivalent as well
- Resolved
- links to