Switch to Starlark for C++ rules.
Change-Id: I3c8e52973506f5dcc96f98460f7d0b3e1263f381
Reviewed-on: https://code-review.googlesource.com/c/re2/+/44211
Reviewed-by: Paul Wankadia <junyer@google.com>
diff --git a/BUILD b/BUILD
index 30ce320..f3191b9 100644
--- a/BUILD
+++ b/BUILD
@@ -23,6 +23,8 @@
values = {"cpu": "x64_windows_msvc"},
)
+load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
+
cc_library(
name = "re2",
srcs = [
@@ -122,106 +124,144 @@
deps = [":testing"],
)
-load(":re2_test.bzl", "re2_test")
-
-re2_test(
- "charclass_test",
+cc_test(
+ name = "charclass_test",
size = "small",
+ srcs = ["re2/testing/charclass_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "compile_test",
+cc_test(
+ name = "compile_test",
size = "small",
+ srcs = ["re2/testing/compile_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "filtered_re2_test",
+cc_test(
+ name = "filtered_re2_test",
size = "small",
+ srcs = ["re2/testing/filtered_re2_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "mimics_pcre_test",
+cc_test(
+ name = "mimics_pcre_test",
size = "small",
+ srcs = ["re2/testing/mimics_pcre_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "parse_test",
+cc_test(
+ name = "parse_test",
size = "small",
+ srcs = ["re2/testing/parse_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "possible_match_test",
+cc_test(
+ name = "possible_match_test",
size = "small",
+ srcs = ["re2/testing/possible_match_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "re2_arg_test",
+cc_test(
+ name = "re2_arg_test",
size = "small",
+ srcs = ["re2/testing/re2_arg_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "re2_test",
+cc_test(
+ name = "re2_test",
size = "small",
+ srcs = ["re2/testing/re2_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "regexp_test",
+cc_test(
+ name = "regexp_test",
size = "small",
+ srcs = ["re2/testing/regexp_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "required_prefix_test",
+cc_test(
+ name = "required_prefix_test",
size = "small",
+ srcs = ["re2/testing/required_prefix_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "search_test",
+cc_test(
+ name = "search_test",
size = "small",
+ srcs = ["re2/testing/search_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "set_test",
+cc_test(
+ name = "set_test",
size = "small",
+ srcs = ["re2/testing/set_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "simplify_test",
+cc_test(
+ name = "simplify_test",
size = "small",
+ srcs = ["re2/testing/simplify_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "string_generator_test",
+cc_test(
+ name = "string_generator_test",
size = "small",
+ srcs = ["re2/testing/string_generator_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "dfa_test",
+cc_test(
+ name = "dfa_test",
size = "large",
+ srcs = ["re2/testing/dfa_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "exhaustive1_test",
+cc_test(
+ name = "exhaustive1_test",
size = "large",
+ srcs = ["re2/testing/exhaustive1_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "exhaustive2_test",
+cc_test(
+ name = "exhaustive2_test",
size = "large",
+ srcs = ["re2/testing/exhaustive2_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "exhaustive3_test",
+cc_test(
+ name = "exhaustive3_test",
size = "large",
+ srcs = ["re2/testing/exhaustive3_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "exhaustive_test",
+cc_test(
+ name = "exhaustive_test",
size = "large",
+ srcs = ["re2/testing/exhaustive_test.cc"],
+ deps = [":test"],
)
-re2_test(
- "random_test",
+cc_test(
+ name = "random_test",
size = "large",
+ srcs = ["re2/testing/random_test.cc"],
+ deps = [":test"],
)
cc_library(
diff --git a/WORKSPACE b/WORKSPACE
index de481fe..484abfe 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,4 +3,13 @@
# license that can be found in the LICENSE file.
# Bazel (http://bazel.io/) WORKSPACE file for RE2.
+
workspace(name = "com_googlesource_code_re2")
+
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
+http_archive(
+ name = "rules_cc",
+ strip_prefix = "rules_cc-master",
+ urls = ["https://github.com/bazelbuild/rules_cc/archive/master.zip"],
+)
diff --git a/re2_test.bzl b/re2_test.bzl
deleted file mode 100644
index c0eb654..0000000
--- a/re2_test.bzl
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright 2009 The RE2 Authors. All Rights Reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-# Defines a Bazel macro that instantiates a native cc_test rule for an RE2 test.
-def re2_test(name, deps=[], size="medium"):
- native.cc_test(
- name=name,
- srcs=["re2/testing/%s.cc" % (name)],
- deps=[":test"] + deps,
- size=size,
- )