1) Changing the BuildMetadataFromXml to only set
same_mobile_and_fixed_line_pattern and
national_prefix_optional_when_formatting if they differ from default
values, and the domestic_carrier_code_formatting_rule,
international_prefix and national_prefix_formatting_rule if there is
one.
2) Adding a test with some golden data for the BuildMetadataJsonFromXml.
3) Adding to the proto a missing explicit default false.
4) Updating a couple of methods in the Phonemetadata.java class to have
names that match those of the auto-generated Phonemetadata used by the
CPP build, now that we use those methods when building the metadata.
5) Fix to ant build file to enable the junit command to still work (instructions on open-source on how to regenerate metadata files refer to this)
Resulting data is smaller for Java and C++ and the resulting BuildMetadataJsonFromXml code is cleaner.
- Handling language codes that are not just two-letters long appropriately
- Making file processing deterministic, so this doesn't differ from build to build
- LOGGER -> logger
- Small comment fixes
- Style-guide-recommended formatting changes
- Removal of duplicate, unneeded method in PhoneNumberToTimeZonesMapper.java for canBeGeocoded, using phoneNumberUtil instead.
We remove the dependency on protobuf (protobuf-javanano) from the Java library, resurrecting java/libphonenumber/src/com/google/i18n/phonenumbers/Phonemetadata.java which was present until libphonenumber-7.1.1.
Does not affect the C++ or JavaScript libraries.
- 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