Concepts and terminology
Functions
Rules
Native rules ship with the Bazel binary and do not require aload
statement.
Native rules are available globally in BUILD files. In .bzl files, you can find them in
the native
module.
For non-native Starlark rules that ship separately from Bazel, see the list of
recommended rules.
Language-specific native rules
Language | Binary rules | Library rules | Test rules | Other rules |
---|---|---|---|---|
C / C++ |
cc_binary
|
cc_import
cc_library cc_shared_library cc_static_library |
cc_test
|
cc_toolchain
cc_toolchain_suite fdo_prefetch_hints fdo_profile memprof_profile propeller_optimize |
Java |
java_binary
|
java_import
java_library |
java_test
|
java_package_configuration
java_plugin java_runtime java_toolchain |
Objective-C |
objc_import
objc_library |
|||
Protocol Buffer |
cc_proto_library
java_lite_proto_library java_proto_library proto_library py_proto_library |
proto_lang_toolchain
proto_toolchain |
||
Python |
py_binary
|
py_library
|
py_test
|
py_runtime
|
Shell |
sh_binary
|
sh_library
|
sh_test
|
Language-agnostic native rules
Family | Rules |
---|---|
Extra Actions | |
General | |
Platforms and Toolchains | |
Workspace |