re2 1.19.2 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/actions/linux-alpine-node-16/Dockerfile +1 -1
- package/.github/actions/linux-alpine-node-18/Dockerfile +1 -1
- package/.github/actions/linux-alpine-node-20/Dockerfile +1 -1
- package/.gitmodules +5 -2
- package/README.md +1 -0
- package/binding.gyp +82 -25
- package/lib/replace.cc +4 -4
- package/package.json +1 -1
- package/tsconfig.json +2 -1
- package/vendor/re2/.bazelrc +16 -0
- package/vendor/re2/.github/bazel.sh +24 -0
- package/vendor/re2/.github/cmake.sh +12 -0
- package/vendor/re2/.github/workflows/ci-bazel.yml +17 -0
- package/vendor/re2/.github/workflows/ci-cmake.yml +108 -0
- package/vendor/re2/.github/workflows/ci.yml +89 -0
- package/vendor/re2/.github/workflows/pr.yml +26 -0
- package/vendor/re2/.github/workflows/python.yml +185 -0
- package/vendor/re2/AUTHORS +13 -0
- package/vendor/re2/BUILD.bazel +280 -0
- package/vendor/re2/CMakeLists.txt +268 -0
- package/vendor/re2/CONTRIBUTING.md +2 -0
- package/vendor/re2/CONTRIBUTORS +41 -0
- package/vendor/re2/Makefile +400 -0
- package/vendor/{README → re2/README} +5 -0
- package/vendor/re2/SECURITY.md +4 -0
- package/vendor/re2/WORKSPACE.bazel +62 -0
- package/vendor/re2/app/BUILD.bazel +19 -0
- package/vendor/re2/app/_re2.cc +94 -0
- package/vendor/re2/app/_re2.d.ts +23 -0
- package/vendor/re2/app/app.ts +111 -0
- package/vendor/re2/app/build.sh +50 -0
- package/vendor/re2/app/index.html +5 -0
- package/vendor/re2/app/package.json +14 -0
- package/vendor/re2/app/rollup.config.js +28 -0
- package/vendor/re2/app/tsconfig.json +17 -0
- package/vendor/re2/benchlog/benchplot.py +98 -0
- package/vendor/re2/benchlog/mktable +155 -0
- package/vendor/re2/doc/mksyntaxgo +42 -0
- package/vendor/re2/doc/mksyntaxhtml +42 -0
- package/vendor/re2/doc/mksyntaxwiki +36 -0
- package/vendor/re2/doc/syntax.html +477 -0
- package/vendor/re2/doc/syntax.txt +463 -0
- package/vendor/re2/lib/git/commit-msg.hook +104 -0
- package/vendor/re2/libre2.symbols +19 -0
- package/vendor/re2/libre2.symbols.darwin +15 -0
- package/vendor/re2/python/BUILD.bazel +36 -0
- package/vendor/re2/python/README +1 -0
- package/vendor/re2/python/_re2.cc +338 -0
- package/vendor/re2/python/re2.py +582 -0
- package/vendor/re2/python/re2_test.py +482 -0
- package/vendor/re2/python/setup.py +105 -0
- package/vendor/re2/{bitmap256.cc → re2/bitmap256.cc} +4 -4
- package/vendor/re2/{bitstate.cc → re2/bitstate.cc} +21 -25
- package/vendor/re2/{compile.cc → re2/compile.cc} +5 -4
- package/vendor/re2/{dfa.cc → re2/dfa.cc} +120 -101
- package/vendor/re2/{filtered_re2.cc → re2/filtered_re2.cc} +8 -11
- package/vendor/re2/{filtered_re2.h → re2/filtered_re2.h} +5 -4
- package/vendor/re2/{fuzzing → re2/fuzzing}/re2_fuzzer.cc +4 -6
- package/vendor/re2/{mimics_pcre.cc → re2/mimics_pcre.cc} +0 -1
- package/vendor/re2/{nfa.cc → re2/nfa.cc} +34 -37
- package/vendor/re2/{onepass.cc → re2/onepass.cc} +25 -27
- package/vendor/re2/{parse.cc → re2/parse.cc} +118 -121
- package/vendor/re2/{prefilter.cc → re2/prefilter.cc} +2 -3
- package/vendor/re2/{prefilter.h → re2/prefilter.h} +0 -1
- package/vendor/re2/{prefilter_tree.cc → re2/prefilter_tree.cc} +4 -5
- package/vendor/re2/{prefilter_tree.h → re2/prefilter_tree.h} +1 -2
- package/vendor/re2/{prog.cc → re2/prog.cc} +20 -21
- package/vendor/re2/{prog.h → re2/prog.h} +21 -22
- package/vendor/re2/{re2.cc → re2/re2.cc} +51 -62
- package/vendor/re2/{re2.h → re2/re2.h} +78 -40
- package/vendor/re2/{regexp.cc → re2/regexp.cc} +11 -12
- package/vendor/re2/{regexp.h → re2/regexp.h} +9 -10
- package/vendor/re2/{set.cc → re2/set.cc} +3 -5
- package/vendor/re2/{set.h → re2/set.h} +4 -3
- package/vendor/re2/{simplify.cc → re2/simplify.cc} +1 -2
- package/vendor/re2/re2/stringpiece.h +24 -0
- package/vendor/re2/{testing → re2/testing}/backtrack.cc +22 -25
- package/vendor/re2/{testing → re2/testing}/charclass_test.cc +23 -21
- package/vendor/re2/{testing → re2/testing}/compile_test.cc +5 -4
- package/vendor/re2/{testing → re2/testing}/dfa_test.cc +36 -30
- package/vendor/re2/{testing → re2/testing}/dump.cc +8 -8
- package/vendor/re2/{testing → re2/testing}/exhaustive1_test.cc +1 -1
- package/vendor/re2/{testing → re2/testing}/exhaustive2_test.cc +1 -1
- package/vendor/re2/{testing → re2/testing}/exhaustive3_test.cc +1 -1
- package/vendor/re2/{testing → re2/testing}/exhaustive_test.cc +1 -1
- package/vendor/re2/{testing → re2/testing}/exhaustive_tester.cc +36 -32
- package/vendor/re2/{testing → re2/testing}/exhaustive_tester.h +0 -1
- package/vendor/re2/{testing → re2/testing}/filtered_re2_test.cc +9 -8
- package/vendor/re2/{testing → re2/testing}/mimics_pcre_test.cc +3 -2
- package/vendor/re2/{testing → re2/testing}/null_walker.cc +1 -1
- package/vendor/re2/{testing → re2/testing}/parse_test.cc +13 -12
- package/vendor/re2/{testing → re2/testing}/possible_match_test.cc +15 -14
- package/vendor/re2/{testing → re2/testing}/random_test.cc +13 -12
- package/vendor/re2/{testing → re2/testing}/re2_arg_test.cc +25 -2
- package/vendor/re2/{testing → re2/testing}/re2_test.cc +49 -47
- package/vendor/re2/{testing → re2/testing}/regexp_benchmark.cc +144 -145
- package/vendor/re2/{testing → re2/testing}/regexp_generator.cc +18 -14
- package/vendor/re2/{testing → re2/testing}/regexp_generator.h +3 -4
- package/vendor/re2/{testing → re2/testing}/regexp_test.cc +1 -1
- package/vendor/re2/{testing → re2/testing}/required_prefix_test.cc +5 -4
- package/vendor/re2/{testing → re2/testing}/search_test.cc +3 -2
- package/vendor/re2/{testing → re2/testing}/set_test.cc +1 -1
- package/vendor/re2/{testing → re2/testing}/simplify_test.cc +3 -2
- package/vendor/re2/{testing → re2/testing}/string_generator.cc +3 -3
- package/vendor/re2/{testing → re2/testing}/string_generator.h +5 -6
- package/vendor/re2/{testing → re2/testing}/string_generator_test.cc +2 -2
- package/vendor/re2/{testing → re2/testing}/tester.cc +77 -78
- package/vendor/re2/{testing → re2/testing}/tester.h +13 -15
- package/vendor/re2/{tostring.cc → re2/tostring.cc} +7 -8
- package/vendor/re2/{unicode_casefold.h → re2/unicode_casefold.h} +0 -1
- package/vendor/re2/{unicode_groups.h → re2/unicode_groups.h} +0 -1
- package/vendor/re2/{walker-inl.h → re2/walker-inl.h} +2 -1
- package/vendor/re2/re2.pc.in +9 -0
- package/vendor/re2/re2Config.cmake.in +28 -0
- package/vendor/re2/runtests +33 -0
- package/vendor/re2/testinstall.cc +27 -0
- package/vendor/re2/ucs2.diff +567 -0
- package/vendor/{util → re2/util}/logging.h +2 -2
- package/vendor/{util → re2/util}/pcre.cc +47 -116
- package/vendor/{util → re2/util}/pcre.h +53 -63
- package/vendor/re2/util/strutil.cc +26 -0
- package/vendor/{util → re2/util}/strutil.h +0 -5
- package/vendor/re2/stringpiece.cc +0 -65
- package/vendor/re2/stringpiece.h +0 -213
- package/vendor/util/benchmark.cc +0 -131
- package/vendor/util/benchmark.h +0 -156
- package/vendor/util/flags.h +0 -26
- package/vendor/util/mix.h +0 -41
- package/vendor/util/mutex.h +0 -164
- package/vendor/util/strutil.cc +0 -149
- package/vendor/util/test.cc +0 -34
- package/vendor/util/test.h +0 -50
- package/vendor/util/util.h +0 -42
- /package/vendor/{LICENSE → re2/LICENSE} +0 -0
- /package/vendor/re2/{bitmap256.h → re2/bitmap256.h} +0 -0
- /package/vendor/re2/{fuzzing → re2/fuzzing}/compiler-rt/LICENSE +0 -0
- /package/vendor/re2/{fuzzing → re2/fuzzing}/compiler-rt/include/fuzzer/FuzzedDataProvider.h +0 -0
- /package/vendor/re2/{make_perl_groups.pl → re2/make_perl_groups.pl} +0 -0
- /package/vendor/re2/{make_unicode_casefold.py → re2/make_unicode_casefold.py} +0 -0
- /package/vendor/re2/{make_unicode_groups.py → re2/make_unicode_groups.py} +0 -0
- /package/vendor/re2/{perl_groups.cc → re2/perl_groups.cc} +0 -0
- /package/vendor/re2/{pod_array.h → re2/pod_array.h} +0 -0
- /package/vendor/re2/{sparse_array.h → re2/sparse_array.h} +0 -0
- /package/vendor/re2/{sparse_set.h → re2/sparse_set.h} +0 -0
- /package/vendor/re2/{unicode.py → re2/unicode.py} +0 -0
- /package/vendor/re2/{unicode_casefold.cc → re2/unicode_casefold.cc} +0 -0
- /package/vendor/re2/{unicode_groups.cc → re2/unicode_groups.cc} +0 -0
- /package/vendor/{util → re2/util}/fuzz.cc +0 -0
- /package/vendor/{util → re2/util}/malloc_counter.h +0 -0
- /package/vendor/{util → re2/util}/rune.cc +0 -0
- /package/vendor/{util → re2/util}/utf.h +0 -0
package/.gitmodules
CHANGED
package/README.md
CHANGED
|
@@ -353,6 +353,7 @@ console.log('re2_res : ' + re2_res); // prints: re2_res : abc,a,b,c
|
|
|
353
353
|
|
|
354
354
|
## Release history
|
|
355
355
|
|
|
356
|
+
- 1.20.0 *Updated RE2. New version uses `abseil-cpp` and required the adaptation work. Thx, [Stefano Rivera](https://github.com/stefanor).*
|
|
356
357
|
- 1.19.2 *Bugfix: infinite loop in matchAll() with empty matches. Thx, [ziyunfei](https://github.com/ziyunfei).*
|
|
357
358
|
- 1.19.1 *Bugfix: indices for the `d` flag when `lastIndex` is non zero. Bugfix: the match result. Thx, [teebu](https://github.com/teebu).*
|
|
358
359
|
- 1.19.0 *Added `hasIndices` AKA the `d` flag. Thx, [teebu](https://github.com/teebu).*
|
package/binding.gyp
CHANGED
|
@@ -14,30 +14,86 @@
|
|
|
14
14
|
"lib/to_string.cc",
|
|
15
15
|
"lib/accessors.cc",
|
|
16
16
|
"lib/util.cc",
|
|
17
|
-
"vendor/re2/bitmap256.cc",
|
|
18
|
-
"vendor/re2/bitstate.cc",
|
|
19
|
-
"vendor/re2/compile.cc",
|
|
20
|
-
"vendor/re2/dfa.cc",
|
|
21
|
-
"vendor/re2/filtered_re2.cc",
|
|
22
|
-
"vendor/re2/mimics_pcre.cc",
|
|
23
|
-
"vendor/re2/nfa.cc",
|
|
24
|
-
"vendor/re2/onepass.cc",
|
|
25
|
-
"vendor/re2/parse.cc",
|
|
26
|
-
"vendor/re2/perl_groups.cc",
|
|
27
|
-
"vendor/re2/prefilter.cc",
|
|
28
|
-
"vendor/re2/prefilter_tree.cc",
|
|
29
|
-
"vendor/re2/prog.cc",
|
|
30
|
-
"vendor/re2/re2.cc",
|
|
31
|
-
"vendor/re2/regexp.cc",
|
|
32
|
-
"vendor/re2/set.cc",
|
|
33
|
-
"vendor/re2/simplify.cc",
|
|
34
|
-
"vendor/re2/
|
|
35
|
-
"vendor/re2/
|
|
36
|
-
"vendor/re2/
|
|
37
|
-
"vendor/re2/
|
|
38
|
-
"vendor/util/
|
|
39
|
-
"vendor/util/
|
|
40
|
-
"vendor/
|
|
17
|
+
"vendor/re2/re2/bitmap256.cc",
|
|
18
|
+
"vendor/re2/re2/bitstate.cc",
|
|
19
|
+
"vendor/re2/re2/compile.cc",
|
|
20
|
+
"vendor/re2/re2/dfa.cc",
|
|
21
|
+
"vendor/re2/re2/filtered_re2.cc",
|
|
22
|
+
"vendor/re2/re2/mimics_pcre.cc",
|
|
23
|
+
"vendor/re2/re2/nfa.cc",
|
|
24
|
+
"vendor/re2/re2/onepass.cc",
|
|
25
|
+
"vendor/re2/re2/parse.cc",
|
|
26
|
+
"vendor/re2/re2/perl_groups.cc",
|
|
27
|
+
"vendor/re2/re2/prefilter.cc",
|
|
28
|
+
"vendor/re2/re2/prefilter_tree.cc",
|
|
29
|
+
"vendor/re2/re2/prog.cc",
|
|
30
|
+
"vendor/re2/re2/re2.cc",
|
|
31
|
+
"vendor/re2/re2/regexp.cc",
|
|
32
|
+
"vendor/re2/re2/set.cc",
|
|
33
|
+
"vendor/re2/re2/simplify.cc",
|
|
34
|
+
"vendor/re2/re2/tostring.cc",
|
|
35
|
+
"vendor/re2/re2/unicode_casefold.cc",
|
|
36
|
+
"vendor/re2/re2/unicode_groups.cc",
|
|
37
|
+
"vendor/re2/util/pcre.cc",
|
|
38
|
+
"vendor/re2/util/rune.cc",
|
|
39
|
+
"vendor/re2/util/strutil.cc",
|
|
40
|
+
"vendor/abseil-cpp/absl/base/internal/cycleclock.cc",
|
|
41
|
+
"vendor/abseil-cpp/absl/base/internal/low_level_alloc.cc",
|
|
42
|
+
"vendor/abseil-cpp/absl/base/internal/raw_logging.cc",
|
|
43
|
+
"vendor/abseil-cpp/absl/base/internal/spinlock.cc",
|
|
44
|
+
"vendor/abseil-cpp/absl/base/internal/spinlock_wait.cc",
|
|
45
|
+
"vendor/abseil-cpp/absl/base/internal/sysinfo.cc",
|
|
46
|
+
"vendor/abseil-cpp/absl/base/internal/thread_identity.cc",
|
|
47
|
+
"vendor/abseil-cpp/absl/base/internal/throw_delegate.cc",
|
|
48
|
+
"vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc",
|
|
49
|
+
"vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc",
|
|
50
|
+
"vendor/abseil-cpp/absl/debugging/stacktrace.cc",
|
|
51
|
+
"vendor/abseil-cpp/absl/debugging/symbolize.cc",
|
|
52
|
+
"vendor/abseil-cpp/absl/flags/commandlineflag.cc",
|
|
53
|
+
"vendor/abseil-cpp/absl/flags/flag.cc",
|
|
54
|
+
"vendor/abseil-cpp/absl/flags/internal/commandlineflag.cc",
|
|
55
|
+
"vendor/abseil-cpp/absl/flags/internal/flag.cc",
|
|
56
|
+
"vendor/abseil-cpp/absl/flags/internal/private_handle_accessor.cc",
|
|
57
|
+
"vendor/abseil-cpp/absl/flags/internal/program_name.cc",
|
|
58
|
+
"vendor/abseil-cpp/absl/flags/marshalling.cc",
|
|
59
|
+
"vendor/abseil-cpp/absl/flags/reflection.cc",
|
|
60
|
+
"vendor/abseil-cpp/absl/flags/usage_config.cc",
|
|
61
|
+
"vendor/abseil-cpp/absl/hash/internal/city.cc",
|
|
62
|
+
"vendor/abseil-cpp/absl/hash/internal/hash.cc",
|
|
63
|
+
"vendor/abseil-cpp/absl/hash/internal/low_level_hash.cc",
|
|
64
|
+
"vendor/abseil-cpp/absl/numeric/int128.cc",
|
|
65
|
+
"vendor/abseil-cpp/absl/strings/ascii.cc",
|
|
66
|
+
"vendor/abseil-cpp/absl/strings/charconv.cc",
|
|
67
|
+
"vendor/abseil-cpp/absl/strings/internal/charconv_bigint.cc",
|
|
68
|
+
"vendor/abseil-cpp/absl/strings/internal/charconv_parse.cc",
|
|
69
|
+
"vendor/abseil-cpp/absl/strings/internal/memutil.cc",
|
|
70
|
+
"vendor/abseil-cpp/absl/strings/internal/str_format/arg.cc",
|
|
71
|
+
"vendor/abseil-cpp/absl/strings/internal/str_format/bind.cc",
|
|
72
|
+
"vendor/abseil-cpp/absl/strings/internal/str_format/extension.cc",
|
|
73
|
+
"vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc",
|
|
74
|
+
"vendor/abseil-cpp/absl/strings/internal/str_format/output.cc",
|
|
75
|
+
"vendor/abseil-cpp/absl/strings/internal/str_format/parser.cc",
|
|
76
|
+
"vendor/abseil-cpp/absl/strings/match.cc",
|
|
77
|
+
"vendor/abseil-cpp/absl/strings/numbers.cc",
|
|
78
|
+
"vendor/abseil-cpp/absl/strings/str_cat.cc",
|
|
79
|
+
"vendor/abseil-cpp/absl/strings/str_split.cc",
|
|
80
|
+
"vendor/abseil-cpp/absl/strings/string_view.cc",
|
|
81
|
+
"vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc",
|
|
82
|
+
"vendor/abseil-cpp/absl/synchronization/internal/graphcycles.cc",
|
|
83
|
+
"vendor/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc",
|
|
84
|
+
"vendor/abseil-cpp/absl/synchronization/internal/waiter.cc",
|
|
85
|
+
"vendor/abseil-cpp/absl/synchronization/mutex.cc",
|
|
86
|
+
"vendor/abseil-cpp/absl/time/clock.cc",
|
|
87
|
+
"vendor/abseil-cpp/absl/time/duration.cc",
|
|
88
|
+
"vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc",
|
|
89
|
+
"vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc",
|
|
90
|
+
"vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc",
|
|
91
|
+
"vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc",
|
|
92
|
+
"vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc",
|
|
93
|
+
"vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc",
|
|
94
|
+
"vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc",
|
|
95
|
+
"vendor/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc",
|
|
96
|
+
"vendor/abseil-cpp/absl/time/time.cc",
|
|
41
97
|
],
|
|
42
98
|
"cflags": [
|
|
43
99
|
"-std=c++2a",
|
|
@@ -56,7 +112,8 @@
|
|
|
56
112
|
],
|
|
57
113
|
"include_dirs": [
|
|
58
114
|
"<!(node -e \"require('nan')\")",
|
|
59
|
-
"vendor"
|
|
115
|
+
"vendor/re2",
|
|
116
|
+
"vendor/abseil-cpp",
|
|
60
117
|
],
|
|
61
118
|
"xcode_settings": {
|
|
62
119
|
"MACOSX_DEPLOYMENT_TARGET": "10.7",
|
package/lib/replace.cc
CHANGED
|
@@ -107,7 +107,7 @@ inline std::string replace(const char *data, size_t size, const std::vector<re2:
|
|
|
107
107
|
i += 2;
|
|
108
108
|
continue;
|
|
109
109
|
case '&':
|
|
110
|
-
result += groups[0]
|
|
110
|
+
result += (std::string)groups[0];
|
|
111
111
|
i += 2;
|
|
112
112
|
continue;
|
|
113
113
|
case '`':
|
|
@@ -139,7 +139,7 @@ inline std::string replace(const char *data, size_t size, const std::vector<re2:
|
|
|
139
139
|
index2 = index * 10 + (ch - '0');
|
|
140
140
|
if (index2 && index2 < groups.size())
|
|
141
141
|
{
|
|
142
|
-
result += groups[index2]
|
|
142
|
+
result += (std::string)groups[index2];
|
|
143
143
|
continue;
|
|
144
144
|
}
|
|
145
145
|
result += '$';
|
|
@@ -152,7 +152,7 @@ inline std::string replace(const char *data, size_t size, const std::vector<re2:
|
|
|
152
152
|
i += 2;
|
|
153
153
|
if (index && index < groups.size())
|
|
154
154
|
{
|
|
155
|
-
result += groups[index]
|
|
155
|
+
result += (std::string)groups[index];
|
|
156
156
|
continue;
|
|
157
157
|
}
|
|
158
158
|
result += '$';
|
|
@@ -170,7 +170,7 @@ inline std::string replace(const char *data, size_t size, const std::vector<re2:
|
|
|
170
170
|
if (group != namedGroups.end())
|
|
171
171
|
{
|
|
172
172
|
index = group->second;
|
|
173
|
-
result += groups[index]
|
|
173
|
+
result += (std::string)groups[index];
|
|
174
174
|
}
|
|
175
175
|
i = nameEnd + 1 - data;
|
|
176
176
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "re2",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.20.0",
|
|
4
4
|
"description": "Bindings for RE2: fast, safe alternative to backtracking regular expression engines.",
|
|
5
5
|
"homepage": "https://github.com/uhop/node-re2",
|
|
6
6
|
"bugs": "https://github.com/uhop/node-re2/issues",
|
package/tsconfig.json
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Copyright 2022 The RE2 Authors. All Rights Reserved.
|
|
2
|
+
# Use of this source code is governed by a BSD-style
|
|
3
|
+
# license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
# Abseil requires C++14 at minimum.
|
|
6
|
+
# Previously, the flag was set via `BAZEL_CXXOPTS`. On macOS, we also had to set
|
|
7
|
+
# `BAZEL_USE_CPP_ONLY_TOOLCHAIN` since Bazel wouldn't respect the former without
|
|
8
|
+
# the latter. However, the latter stopped Bazel from using Xcode and `-framework
|
|
9
|
+
# Foundation`, which CCTZ (vendored into Abseil) requires.
|
|
10
|
+
build --enable_platform_specific_config
|
|
11
|
+
build:linux --cxxopt=-std=c++14
|
|
12
|
+
build:macos --cxxopt=-std=c++14
|
|
13
|
+
build:windows --cxxopt=/std:c++14
|
|
14
|
+
|
|
15
|
+
# Print test logs for failed tests.
|
|
16
|
+
test --test_output=errors
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -eux
|
|
3
|
+
|
|
4
|
+
bazel clean
|
|
5
|
+
bazel build --compilation_mode=dbg -- //:all
|
|
6
|
+
bazel test --compilation_mode=dbg -- //:all \
|
|
7
|
+
-//:dfa_test \
|
|
8
|
+
-//:exhaustive1_test \
|
|
9
|
+
-//:exhaustive2_test \
|
|
10
|
+
-//:exhaustive3_test \
|
|
11
|
+
-//:exhaustive_test \
|
|
12
|
+
-//:random_test
|
|
13
|
+
|
|
14
|
+
bazel clean
|
|
15
|
+
bazel build --compilation_mode=opt -- //:all
|
|
16
|
+
bazel test --compilation_mode=opt -- //:all \
|
|
17
|
+
-//:dfa_test \
|
|
18
|
+
-//:exhaustive1_test \
|
|
19
|
+
-//:exhaustive2_test \
|
|
20
|
+
-//:exhaustive3_test \
|
|
21
|
+
-//:exhaustive_test \
|
|
22
|
+
-//:random_test
|
|
23
|
+
|
|
24
|
+
exit 0
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -eux
|
|
3
|
+
|
|
4
|
+
cmake . -D CMAKE_BUILD_TYPE=Debug -D RE2_BUILD_TESTING=ON "$@"
|
|
5
|
+
cmake --build . --config Debug --clean-first
|
|
6
|
+
ctest -C Debug --output-on-failure -E 'dfa|exhaustive|random'
|
|
7
|
+
|
|
8
|
+
cmake . -D CMAKE_BUILD_TYPE=Release -D RE2_BUILD_TESTING=ON "$@"
|
|
9
|
+
cmake --build . --config Release --clean-first
|
|
10
|
+
ctest -C Release --output-on-failure -E 'dfa|exhaustive|random'
|
|
11
|
+
|
|
12
|
+
exit 0
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: CI (Bazel)
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: [main]
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
runs-on: ${{ matrix.os }}
|
|
8
|
+
strategy:
|
|
9
|
+
fail-fast: false
|
|
10
|
+
matrix:
|
|
11
|
+
os: [macos-latest, ubuntu-latest, windows-latest]
|
|
12
|
+
env:
|
|
13
|
+
BAZELISK_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v3
|
|
16
|
+
- run: .github/bazel.sh
|
|
17
|
+
shell: bash
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
name: CI (CMake)
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: [main]
|
|
5
|
+
jobs:
|
|
6
|
+
# GitHub Actions doesn't provide GCC 13, so we use a Docker container instead.
|
|
7
|
+
# (Also, the Benchmark package on Ubuntu 22.04 LTS is problematic whereas this
|
|
8
|
+
# Docker container is based on Debian bookworm and so it has a newer version.)
|
|
9
|
+
build-linux:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
container: gcc:13
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v3
|
|
16
|
+
- name: Install CMake
|
|
17
|
+
run: |
|
|
18
|
+
apt update -y
|
|
19
|
+
apt install -y cmake
|
|
20
|
+
shell: bash
|
|
21
|
+
- name: Install Abseil, GoogleTest and Benchmark
|
|
22
|
+
run: |
|
|
23
|
+
apt update -y
|
|
24
|
+
apt install -y libabsl-dev libgtest-dev libbenchmark-dev
|
|
25
|
+
shell: bash
|
|
26
|
+
- run: .github/cmake.sh
|
|
27
|
+
shell: bash
|
|
28
|
+
build-linux-shared:
|
|
29
|
+
runs-on: ubuntu-latest
|
|
30
|
+
container: gcc:13
|
|
31
|
+
strategy:
|
|
32
|
+
fail-fast: false
|
|
33
|
+
steps:
|
|
34
|
+
- uses: actions/checkout@v3
|
|
35
|
+
- name: Install CMake
|
|
36
|
+
run: |
|
|
37
|
+
apt update -y
|
|
38
|
+
apt install -y cmake
|
|
39
|
+
shell: bash
|
|
40
|
+
- name: Install Abseil, GoogleTest and Benchmark
|
|
41
|
+
run: |
|
|
42
|
+
apt update -y
|
|
43
|
+
apt install -y libabsl-dev libgtest-dev libbenchmark-dev
|
|
44
|
+
shell: bash
|
|
45
|
+
- run: .github/cmake.sh -D BUILD_SHARED_LIBS=ON
|
|
46
|
+
shell: bash
|
|
47
|
+
build-macos:
|
|
48
|
+
runs-on: macos-latest
|
|
49
|
+
strategy:
|
|
50
|
+
fail-fast: false
|
|
51
|
+
steps:
|
|
52
|
+
- uses: actions/checkout@v3
|
|
53
|
+
- name: Install Abseil, GoogleTest and Benchmark
|
|
54
|
+
run: |
|
|
55
|
+
brew update
|
|
56
|
+
brew install abseil googletest google-benchmark
|
|
57
|
+
shell: bash
|
|
58
|
+
- run: .github/cmake.sh
|
|
59
|
+
shell: bash
|
|
60
|
+
build-macos-shared:
|
|
61
|
+
runs-on: macos-latest
|
|
62
|
+
strategy:
|
|
63
|
+
fail-fast: false
|
|
64
|
+
steps:
|
|
65
|
+
- uses: actions/checkout@v3
|
|
66
|
+
- name: Install Abseil, GoogleTest and Benchmark
|
|
67
|
+
run: |
|
|
68
|
+
brew update
|
|
69
|
+
brew install abseil googletest google-benchmark
|
|
70
|
+
shell: bash
|
|
71
|
+
- run: .github/cmake.sh -D BUILD_SHARED_LIBS=ON
|
|
72
|
+
shell: bash
|
|
73
|
+
build-windows:
|
|
74
|
+
runs-on: windows-latest
|
|
75
|
+
strategy:
|
|
76
|
+
fail-fast: false
|
|
77
|
+
steps:
|
|
78
|
+
- uses: actions/checkout@v3
|
|
79
|
+
- name: Install Abseil, GoogleTest and Benchmark
|
|
80
|
+
run: |
|
|
81
|
+
# TODO: Remove this in September 2023, which is when the default triplet for
|
|
82
|
+
# vcpkg libraries will change from x86-windows to the detected host triplet.
|
|
83
|
+
export VCPKG_DEFAULT_TRIPLET=x64-windows
|
|
84
|
+
vcpkg update
|
|
85
|
+
vcpkg install abseil gtest benchmark
|
|
86
|
+
shell: bash
|
|
87
|
+
- run: |
|
|
88
|
+
.github/cmake.sh \
|
|
89
|
+
-D CMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
|
|
90
|
+
shell: bash
|
|
91
|
+
build-windows-shared:
|
|
92
|
+
runs-on: windows-latest
|
|
93
|
+
strategy:
|
|
94
|
+
fail-fast: false
|
|
95
|
+
steps:
|
|
96
|
+
- uses: actions/checkout@v3
|
|
97
|
+
- name: Install Abseil, GoogleTest and Benchmark
|
|
98
|
+
run: |
|
|
99
|
+
# TODO: Remove this in September 2023, which is when the default triplet for
|
|
100
|
+
# vcpkg libraries will change from x86-windows to the detected host triplet.
|
|
101
|
+
export VCPKG_DEFAULT_TRIPLET=x64-windows
|
|
102
|
+
vcpkg update
|
|
103
|
+
vcpkg install abseil gtest benchmark
|
|
104
|
+
shell: bash
|
|
105
|
+
- run: |
|
|
106
|
+
.github/cmake.sh -D BUILD_SHARED_LIBS=ON \
|
|
107
|
+
-D CMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
|
|
108
|
+
shell: bash
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: [main]
|
|
5
|
+
jobs:
|
|
6
|
+
build-appleclang:
|
|
7
|
+
runs-on: macos-latest
|
|
8
|
+
strategy:
|
|
9
|
+
fail-fast: false
|
|
10
|
+
matrix:
|
|
11
|
+
ver: [17, 20]
|
|
12
|
+
env:
|
|
13
|
+
CC: clang
|
|
14
|
+
CXX: clang++
|
|
15
|
+
# Unlike GCC and upstream Clang, AppleClang still defaults to `-std=c++98`
|
|
16
|
+
# for some reason. Also, the macOS image on GitHub Actions provides wildly
|
|
17
|
+
# numbered Xcode versions. Thus, rather than varying the compiler version,
|
|
18
|
+
# we set the `-std` flag explicitly in order to vary the language version.
|
|
19
|
+
# (The other two flags are the default provided for CXXFLAGS in Makefile.)
|
|
20
|
+
CXXFLAGS: -O3 -g -std=c++${{ matrix.ver }}
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v3
|
|
23
|
+
- name: Install Abseil, GoogleTest and Benchmark
|
|
24
|
+
run: |
|
|
25
|
+
brew update
|
|
26
|
+
brew install abseil googletest google-benchmark
|
|
27
|
+
shell: bash
|
|
28
|
+
- run: make && make test
|
|
29
|
+
shell: bash
|
|
30
|
+
build-clang:
|
|
31
|
+
runs-on: ubuntu-latest
|
|
32
|
+
strategy:
|
|
33
|
+
fail-fast: false
|
|
34
|
+
matrix:
|
|
35
|
+
ver: [14, 15, 16]
|
|
36
|
+
env:
|
|
37
|
+
CC: clang-${{ matrix.ver }}
|
|
38
|
+
CXX: clang++-${{ matrix.ver }}
|
|
39
|
+
steps:
|
|
40
|
+
- uses: actions/checkout@v3
|
|
41
|
+
- name: Install Clang ${{ matrix.ver }}
|
|
42
|
+
run: |
|
|
43
|
+
wget https://apt.llvm.org/llvm.sh
|
|
44
|
+
chmod +x ./llvm.sh
|
|
45
|
+
sudo ./llvm.sh ${{ matrix.ver }}
|
|
46
|
+
shell: bash
|
|
47
|
+
- name: Install Abseil, GoogleTest and Benchmark
|
|
48
|
+
run: |
|
|
49
|
+
sudo apt update -y
|
|
50
|
+
sudo apt install -y libabsl-dev libgtest-dev libbenchmark-dev
|
|
51
|
+
shell: bash
|
|
52
|
+
- run: make && make test
|
|
53
|
+
shell: bash
|
|
54
|
+
build-gcc:
|
|
55
|
+
runs-on: ubuntu-latest
|
|
56
|
+
strategy:
|
|
57
|
+
fail-fast: false
|
|
58
|
+
matrix:
|
|
59
|
+
ver: [11, 12]
|
|
60
|
+
env:
|
|
61
|
+
CC: gcc-${{ matrix.ver }}
|
|
62
|
+
CXX: g++-${{ matrix.ver }}
|
|
63
|
+
steps:
|
|
64
|
+
- uses: actions/checkout@v3
|
|
65
|
+
- name: Install Abseil, GoogleTest and Benchmark
|
|
66
|
+
run: |
|
|
67
|
+
sudo apt update -y
|
|
68
|
+
sudo apt install -y libabsl-dev libgtest-dev libbenchmark-dev
|
|
69
|
+
shell: bash
|
|
70
|
+
- run: make && make test
|
|
71
|
+
shell: bash
|
|
72
|
+
# GitHub Actions doesn't provide GCC 13, so we use a Docker container instead.
|
|
73
|
+
build-gcc-13:
|
|
74
|
+
runs-on: ubuntu-latest
|
|
75
|
+
container: gcc:13
|
|
76
|
+
strategy:
|
|
77
|
+
fail-fast: false
|
|
78
|
+
env:
|
|
79
|
+
CC: gcc
|
|
80
|
+
CXX: g++
|
|
81
|
+
steps:
|
|
82
|
+
- uses: actions/checkout@v3
|
|
83
|
+
- name: Install Abseil, GoogleTest and Benchmark
|
|
84
|
+
run: |
|
|
85
|
+
apt update -y
|
|
86
|
+
apt install -y libabsl-dev libgtest-dev libbenchmark-dev
|
|
87
|
+
shell: bash
|
|
88
|
+
- run: make && make test
|
|
89
|
+
shell: bash
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: PR
|
|
2
|
+
on:
|
|
3
|
+
pull_request_target:
|
|
4
|
+
branches: [main]
|
|
5
|
+
types: [opened]
|
|
6
|
+
jobs:
|
|
7
|
+
close:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@v3
|
|
11
|
+
- uses: actions/github-script@v6
|
|
12
|
+
with:
|
|
13
|
+
script: |
|
|
14
|
+
const fs = require('fs');
|
|
15
|
+
console.log(await github.rest.issues.createComment({
|
|
16
|
+
owner: context.repo.owner,
|
|
17
|
+
repo: context.repo.repo,
|
|
18
|
+
issue_number: context.issue.number,
|
|
19
|
+
body: fs.readFileSync('CONTRIBUTING.md', { encoding: 'utf8', }),
|
|
20
|
+
}));
|
|
21
|
+
console.log(await github.rest.pulls.update({
|
|
22
|
+
owner: context.repo.owner,
|
|
23
|
+
repo: context.repo.repo,
|
|
24
|
+
pull_number: context.issue.number,
|
|
25
|
+
state: 'closed',
|
|
26
|
+
}));
|