diff options
Diffstat (limited to 'tools/defs.bzl')
-rw-r--r-- | tools/defs.bzl | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/tools/defs.bzl b/tools/defs.bzl deleted file mode 100644 index ce677cbbf..000000000 --- a/tools/defs.bzl +++ /dev/null @@ -1,155 +0,0 @@ -"""Wrappers for common build rules. - -These wrappers apply common BUILD configurations (e.g., proto_library -automagically creating cc_ and go_ proto targets) and act as a single point of -change for Google-internal and bazel-compatible rules. -""" - -load("//tools/go_stateify:defs.bzl", "go_stateify") -load("//tools/go_marshal:defs.bzl", "go_marshal", "marshal_deps", "marshal_test_deps") -load("//tools/build:defs.bzl", _cc_binary = "cc_binary", _cc_flags_supplier = "cc_flags_supplier", _cc_library = "cc_library", _cc_proto_library = "cc_proto_library", _cc_test = "cc_test", _cc_toolchain = "cc_toolchain", _container_image = "container_image", _default_installer = "default_installer", _default_net_util = "default_net_util", _go_binary = "go_binary", _go_embed_data = "go_embed_data", _go_image = "go_image", _go_library = "go_library", _go_proto_library = "go_proto_library", _go_test = "go_test", _go_tool_library = "go_tool_library", _gtest = "gtest", _loopback = "loopback", _pkg_deb = "pkg_deb", _pkg_tar = "pkg_tar", _proto_library = "proto_library", _py_binary = "py_binary", _py_library = "py_library", _py_requirement = "py_requirement", _py_test = "py_test", _select_arch = "select_arch", _select_system = "select_system") - -# Delegate directly. -cc_binary = _cc_binary -cc_library = _cc_library -cc_test = _cc_test -cc_toolchain = _cc_toolchain -cc_flags_supplier = _cc_flags_supplier -container_image = _container_image -go_embed_data = _go_embed_data -go_image = _go_image -go_test = _go_test -go_tool_library = _go_tool_library -gtest = _gtest -pkg_deb = _pkg_deb -pkg_tar = _pkg_tar -py_library = _py_library -py_binary = _py_binary -py_test = _py_test -py_requirement = _py_requirement -select_arch = _select_arch -select_system = _select_system -loopback = _loopback -default_installer = _default_installer -default_net_util = _default_net_util - -def go_binary(name, **kwargs): - """Wraps the standard go_binary. - - Args: - name: the rule name. - **kwargs: standard go_binary arguments. - """ - _go_binary( - name = name, - **kwargs - ) - -def go_library(name, srcs, deps = [], imports = [], stateify = True, marshal = False, **kwargs): - """Wraps the standard go_library and does stateification and marshalling. - - The recommended way is to use this rule with mostly identical configuration as the native - go_library rule. - - These definitions provide additional flags (stateify, marshal) that can be used - with the generators to automatically supplement the library code. - - load("//tools:defs.bzl", "go_library") - - go_library( - name = "foo", - srcs = ["foo.go"], - ) - - Args: - name: the rule name. - srcs: the library sources. - deps: the library dependencies. - imports: imports required for stateify. - stateify: whether statify is enabled (default: true). - marshal: whether marshal is enabled (default: false). - **kwargs: standard go_library arguments. - """ - if stateify: - # Only do stateification for non-state packages without manual autogen. - go_stateify( - name = name + "_state_autogen", - srcs = [src for src in srcs if src.endswith(".go")], - imports = imports, - package = name, - arch = select_arch(), - out = name + "_state_autogen.go", - ) - all_srcs = srcs + [name + "_state_autogen.go"] - if "//pkg/state" not in deps: - all_deps = deps + ["//pkg/state"] - else: - all_deps = deps - else: - all_deps = deps - all_srcs = srcs - if marshal: - go_marshal( - name = name + "_abi_autogen", - srcs = [src for src in srcs if src.endswith(".go")], - debug = False, - imports = imports, - package = name, - ) - extra_deps = [ - dep - for dep in marshal_deps - if not dep in all_deps - ] - all_deps = all_deps + extra_deps - all_srcs = srcs + [name + "_abi_autogen_unsafe.go"] - - _go_library( - name = name, - srcs = all_srcs, - deps = all_deps, - **kwargs - ) - - if marshal: - # Ignore importpath for go_test. - kwargs.pop("importpath", None) - - _go_test( - name = name + "_abi_autogen_test", - srcs = [name + "_abi_autogen_test.go"], - library = ":" + name, - deps = marshal_test_deps, - **kwargs - ) - -def proto_library(name, srcs, **kwargs): - """Wraps the standard proto_library. - - Given a proto_library named "foo", this produces three different targets: - - foo_proto: proto_library rule. - - foo_go_proto: go_proto_library rule. - - foo_cc_proto: cc_proto_library rule. - - Args: - srcs: the proto sources. - **kwargs: standard proto_library arguments. - """ - deps = kwargs.pop("deps", []) - _proto_library( - name = name + "_proto", - srcs = srcs, - deps = deps, - **kwargs - ) - _go_proto_library( - name = name + "_go_proto", - proto = ":" + name + "_proto", - deps = deps, - **kwargs - ) - _cc_proto_library( - name = name + "_cc_proto", - deps = [":" + name + "_proto"], - **kwargs - ) |