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 | Flags | 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 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_single_jar 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 |