native_binary() and native_test() rule implementations.
These rules let you wrap a pre-built binary or script in a conventional binary and test rule respectively. They fulfill the same goal as sh_binary and sh_test do, but they run the wrapped binary directly, instead of through Bash, so they don't depend on Bash and work with --shell_exectuable="".
Macros and Functions
native_binary
Wraps a pre-built binary or script with a binary rule.
You can "bazel run" this rule like any other binary rule, and use it as a tool in genrule.tools for example. You can also augment the binary with runfiles.
Example usage (generated)
load("@bazel_skylib//rules:native_binary.bzl", "native_binary")
native_binary(
# The name of the rule.
name = "",
# label; path of the pre-built executable
src = "",
# output; an output name for the copy of the binary
out = "",
)
name
The name of the rule.
src
label; path of the pre-built executable
out
output; an output name for the copy of the binary. (Bazel requires that this rule make a copy of 'src'.)
data
list of labels; data dependencies
kwargs
native_test
Wraps a pre-built binary or script with a test rule.
You can "bazel test" this rule like any other test rule. You can also augment the binary with runfiles.
Example usage (generated)
load("@bazel_skylib//rules:native_binary.bzl", "native_test")
native_test(
# The name of the test rule.
name = "",
# label; path of the pre-built executable
src = "",
# output; an output name for the copy of the binary
out = "",
)
name
The name of the test rule.
src
label; path of the pre-built executable
out
output; an output name for the copy of the binary. (Bazel requires that this rule make a copy of 'src'.)
data
list of labels; data dependencies