No public description PiperOrigin-RevId: 725431780 Change-Id: I99a3abc52c4c3c654a698b8ca68ad3365d5b504d
diff --git a/.bazelrc b/.bazelrc index a85e2a1..d04f768 100644 --- a/.bazelrc +++ b/.bazelrc
@@ -1 +1,2 @@ +common --enable_bzlmod build --cxxopt=-std=c++17 --cxxopt=-fexceptions --cxxopt=-Wno-nonnull --cxxopt=-Wno-sign-compare --cxxopt=-Wno-parentheses --cxxopt=-Wno-deprecated-declarations
diff --git a/BUILD.bazel b/BUILD.bazel index 5231327..eca5745 100644 --- a/BUILD.bazel +++ b/BUILD.bazel
@@ -26,7 +26,7 @@ "ModuleBaseListener.h", ], cmd = " ".join([ - "$(locations @antlr4_deps_antlr4_tools//:rules_python_wheel_entry_point_antlr4) -v ", + "$(locations //entry_points:antlr4) -v ", ANTLR4_VERSION, " -o $(RULEDIR) -Dlanguage=Cpp -package fuzzyc_cc_module $(SRCS);", "find $(RULEDIR) \\( -name *.cpp -o -name *.h \\) -exec cp -n {} $(RULEDIR) \\;", @@ -34,7 +34,7 @@ local = True, tools = [ requirement("antlr4-tools"), - "@antlr4_deps_antlr4_tools//:rules_python_wheel_entry_point_antlr4", + "//entry_points:antlr4", ], ) @@ -57,7 +57,7 @@ "FunctionBaseListener.h", ], cmd = " ".join([ - "$(locations @antlr4_deps_antlr4_tools//:rules_python_wheel_entry_point_antlr4) -v ", + "$(locations //entry_points:antlr4) -v ", ANTLR4_VERSION, " -o $(RULEDIR) -Dlanguage=Cpp -package fuzzyc_cc_function $(SRCS);", "find $(RULEDIR) \\( -name *.cpp -o -name *.h \\) -exec cp -n {} $(RULEDIR) \\;", @@ -65,7 +65,7 @@ local = True, tools = [ requirement("antlr4-tools"), - "@antlr4_deps_antlr4_tools//:rules_python_wheel_entry_point_antlr4", + "//entry_points:antlr4", ], )
diff --git a/MODULE.bazel b/MODULE.bazel new file mode 100644 index 0000000..91b1f3c --- /dev/null +++ b/MODULE.bazel
@@ -0,0 +1,24 @@ +"""Fuzzyc build and test dependencies.""" + +module(name = "fuzzyc") + +bazel_dep(name = "rules_python", version = "1.1.0") +bazel_dep(name = "abseil-cpp", version = "20230125.1", repo_name = "com_google_absl") +bazel_dep(name = "googletest", version = "1.15.2", repo_name = "com_google_googletest") + +python = use_extension("@rules_python//python/extensions:python.bzl", "python") +python.toolchain( + is_default = True, + python_version = "3.9" +) + +pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") +pip.parse( + hub_name = "antlr4_deps", + python_version = "3.9", + requirements_lock = "//:requirements_lock.txt", +) +use_repo(pip, "antlr4_deps") + +antlr4_runtimes_extension = use_extension("//:extensions.bzl", "antlr4_runtimes_extension") +use_repo(antlr4_runtimes_extension, "antlr4_runtimes") \ No newline at end of file
diff --git a/entry_points/BUILD.bazel b/entry_points/BUILD.bazel new file mode 100644 index 0000000..f38e596 --- /dev/null +++ b/entry_points/BUILD.bazel
@@ -0,0 +1,9 @@ +# Bazel build rules for antlr4 entry points. +load("@rules_python//python/entry_points:py_console_script_binary.bzl", "py_console_script_binary") + +py_console_script_binary( + name = "antlr4", + pkg = "@antlr4_deps//antlr4_tools", + script = "antlr4", + visibility = ["//visibility:public"], +) \ No newline at end of file
diff --git a/extensions.bzl b/extensions.bzl new file mode 100644 index 0000000..01cac96 --- /dev/null +++ b/extensions.bzl
@@ -0,0 +1,8 @@ +"""Extensions for Fuzzyc.""" + +load("//:repositories.bzl", "antlr4_runtimes_repo") + +def _antlr4_runtimes_impl(_ctx): + antlr4_runtimes_repo() + +antlr4_runtimes_extension = module_extension(implementation = _antlr4_runtimes_impl)
diff --git a/repositories.bzl b/repositories.bzl new file mode 100644 index 0000000..c9a78d6 --- /dev/null +++ b/repositories.bzl
@@ -0,0 +1,20 @@ +"""External repositories required by fuzzyc.""" + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +def antlr4_runtimes_repo(): + http_archive( + name = "antlr4_runtimes", + build_file_content = """ +package(default_visibility = ["//visibility:public"]) +cc_library( + name = "cpp", + srcs = glob(["runtime/Cpp/runtime/src/**/*.cpp"]), + hdrs = glob(["runtime/Cpp/runtime/src/**/*.h"]), + includes = ["runtime/Cpp/runtime/src"], +) + """, + sha256 = "50e87636a61daabd424d884c60f804387430920072f585a9fee2b90e2043fdcc", + strip_prefix = "antlr4-4.11.1", + urls = ["https://github.com/antlr/antlr4/archive/v4.11.1.tar.gz"], + )