[roll] Roll fuchsia [fidlcat] Replace <regex> and <regex.h> with re2::RE2 See RFC-0105 for background: https://fuchsia.dev/fuchsia-src/contribute/governance/rfcs/0105_regular_expression_libraries For the most part this is purely mechanical, with a few exceptions: - By default, RE2 does not match against invalid UTF8. If the source strings may be invalid UTF8 (e.g., if they can contain '\0'), the RE2 object must be created in Latin1 mode. - RE2 is not copyable or movable. Where a regexp needs to be moved, the RE2 object has been wrapped with std::unique_ptr. - RE2 has an option to use "POSIX egrep syntax", which is equivalent to <regex.h>'s regcomp with the REG_EXTENDED flag. I decided not to use RE2's POSIX option for two reasons: 1. For regexps built from static regexp literals, I verified that RE2's default syntax is sufficient to parse those static literals. 2. For regexps that come from user input, I think we should explicitly choose RE2 syntax over POSIX syntax for consistency across Fuchsia. Tools written in other languages (Go and Rust) already use RE2 syntax -- using RE2 syntax in C++ tools will provide a more unified interface. See RFC-0105 for further discussion. Note: the above comments apply generally to the transition from <regex> and <regex.h> to RE2; some comments may not apply to this specific CL. Original-Bug: 77811 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/676253 Original-Revision: 8edbc86da4320a16b4523724b7998cd8440b311e GitOrigin-RevId: 8ef8468ad989513c97a28fe8291a0a274092e831 Change-Id: I085c09c58924d3551ee58fe488185f2cbf4e3cfe
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.