- Make command line parameters named instead of positional.
- Move all information about paths, names, etc., from being hardcoded into the
tool itself to command line parameters, so that new files in the future can
be generated by just adding build rules for them without having to update the
tool.
- Not hard-code class or package names, but get them from the Class object.
- Break code generation up into smaller parts, to make it easier to extend the
code generation and share code while generating different classes.
- Update BuildMetadataFromXml to not output empty region codes.
- Generate either a Map or a Set, depending on whether the mapping table
actually contains any data or not.
All files generated by the tool remain identical to before this change.
Review URL: https://codereview.appspot.com/6343066