This is done by adding a USE_BOOST compile time flag that is enabled by default
when the library is compiled with CMake (mainly for external users).
In Chromium, the library will be built without the USE_BOOST compile time flag.
Instead the NO_THREAD_SAFETY flag will have to be provided so that the minimal
non-thread-safe subset of base will be used.
This is possible since libphonenumber is only used from the UI thread in
Chromium.
BUG=http://crbug.com/236272R=jia.shao.peng@gmail.com
Review URL: https://codereview.appspot.com/8859052
- 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
That lets the demo be part of the libphonenumber Maven project thus adds the following benefits:
- Automatically update the version of the demo and the libphonenumber artifact the demo depends on when performing a release.
- Let Maven handle the deployment of the demo to AppEngine without any need to install the AppEngine SDK.
- No need to push the dependency JARs (servlet, apache common fileupload/io) even if they are still here to let you use Ant if you prefer.
Note that this CL depends on CL 5395054.
Review URL: http://codereview.appspot.com/5405041
This CL (depending on CL 5376090) adds the Maven support for the offline phone number geocoder.
All the geocoding-related code/data is moved to the new directory java/geocoder.
Additionally a pom.xml file is added to java/ and java/geocoder/.
The pom.xml file located in java/ is the parent pom file which contains the configuration (SCM, developers, encoding...) that applies to both the libphonenumber and geocoder modules.
The libphonenumber and geocoder Maven modules inherit from this parent pom file therefore they don't need to duplicate this configuration.
I also moved build.xml and release_notes.txt back to java/.
BUG=57
Review URL: http://codereview.appspot.com/5395054