Skip to content

Latest commit

 

History

History
85 lines (59 loc) · 2.4 KB

making-metadata-changes.md

File metadata and controls

85 lines (59 loc) · 2.4 KB

How to make metadata changes

Introduction

These steps outline how to edit the metadata for the phone number library to fix problems with validation or formatting.

Note that we cannot accept pull requests to modify metadata directly, but you may use these guidelines to create changes in your own fork until we fix issues upstream. Please file a corresponding issue with us.

You can read more about the pull request contribution guidelines.

Details

Edit the data

Edit the appropriate files:

  • resources/PhoneNumberMetadata.xml for normal validation / formatting issues
  • resources/ShortNumberMetadata.xml for short-code data
  • resources/PhoneNumberAlternateFormats.xml for alternate patterns for phone number matching
  • resources/geocoding/xx for geocoding data (where xx is the language code you wish to edit)
  • resources/carrier/xx for carrier mapping data

Note:

  • To track provenance for your own maintenance needs, consider including sources for data where appropriate
  • If multiple countries share a country calling code, check all of them are updated. Formatting rules will only be listed by the country with mainCountryForCode set to true.
  • Details on each field in the xml file can be found at the top of the file and in resources/phonemetadata.proto.

Generate data files

Java

ant -f java/build.xml junit

This will generate new binary files under java/libphonenumber/src/com/google/i18n/phonenumbers/data, geocoder/src/com/google/i18n/phonenumbers/carrier/data, and geocoder/src/com/google/i18n/phonenumbers/geocoding/data.

Javascript

ant -f java/build.xml build-js-metadata

This will generate new js metadata files; you should also now compile the changes, as per the instructions in javascript/README.

C++

See the C++ README instructions for how to build and run C++. You should build it with USE_LITE_METADATA set to ON as well as OFF, which will generate both a metadata.cc and a metadata_lite.cc file.

Test changes

Java

Build a jar:

ant -f java/build.xml jar

Then run your own demo and test your changes are as expected.

Javascript

See javascript/README for how to run the demo page in your browser.