Currently, CMake is configured to download and build abseil from source
whenever `BUILD_GEOCODER` is set to `ON`. Let's allow users to use a
pre-existing installation of abseil by checking for one first before
attempting to download and build another one.
If CMake finds a pre-existing installation of abseil, it will use that
instead.
We need to allow the user to override `CMAKE_CXX_STANDARD` because they
may have built abseil with a newer standard than C++11. Attempting to
build libphonenumber with C++11 will fail if abseil was built with a
newer C++ standard.
Closes#2772.
A Ruby gem which plugs directly into Google's native C++ libphonenumber for extremely fast and robust phone number parsing, validation, and formatting. On average, most methods are 70x to 80x faster than other Ruby phone number libraries.
- Followup to PR #2773, where we started using official appengine Maven plugin than older ```maven-gae-plugin```
- ```appcfg``` script is deprecated and most of these works can be done through ```gcloud-appengine-sdk```
- More details in cl/333435946 (where we moved away from ```appcfg``` during the releases) and cl/xxxxx (We no more need any manual copy jar commands)
* Removing old generated files when building new ones
* Removing old generated files when building new ones
* Removing old generated files when building new ones
Co-authored-by: penmetsaa <penmetsaa@google.com>
It is used in the library with #2734, and not linking with it
breaks users of the library: https://bugs.debian.org/1008817
Co-authored-by: penmetsaa <penmetsaa@google.com>
* Added new classes with behavior from MetadataManager & MetadataSource
* Replaced MetadataManager usages with new classes
* New PrefixDataIOHandler which packs data into a jar
* Added mockito-core jar to lib folder
* Added mockito-all jar to lib folder and updated tests to not use junit4 annotations
* Fixed prefix generation entry points
* Specific exception for missing metadata cases
* Small change in checking missing metadata cases
This very minor, trivial and risk free commit fix introduced in 8.12.45 with #2734
error: ignoring return value of function declared with 'warn_unused_result' attribute [-Werror,-Wunused-result]"
Without this fix, I cannot build using clang++13
- Faced link errors stemmed from mismatch of api definitions of absl::node_hash_set. So explicitly mentioned this lib as dependency during linking. This is common case/solution for absl hash set lib's link errors as per community.
- Decided to continued to have wrapper (stringutil), so that in future it's easy if we decided to change implementation; client code is safe. Changed most of the implementations & data structures in stringutil, to use abseil stuffs more.
- Though absl::string_view is suitable for most cases where we want immutable/read-only string structures, limiting to stringutil apis, not changing public API signatures (even though no compliance issue); reason: reduce dependency on abseil libs.
- Abseil specific changes done:
- std::set => absl::node_hash_set
- std::map => absl::node_hash_map
- Using absl alternatives for “SplitStringUsing” API and “StringHolder” class impl.
- Replaced manual impl of prefix and suffix checks with absl::StartsWith() and absl::EndsWith.
- Similarly used absl::StrReplaceAll, absl::StrCat, absl::StrAppend where possible; and for type conversion apis.
- Note: Tried applying parameter packs to replace manually written duplicate ```StrCat``` apis (for accommodating more number of parameters of same type), but it did not go well when different type arguments passed. Eg char, int types to be converted to StringHolder; faced constructor implicit conversion issues.