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 |
---|---|---|---|---|
Android |
android_binary
|
aar_import
android_library |
android_instrumentation_test
android_local_test |
android_device
android_ndk_repository android_sdk_repository |
C / C++ |
cc_binary
|
cc_import
cc_library cc_proto_library cc_shared_library cc_static_library fdo_prefetch_hints fdo_profile memprof_profile propeller_optimize |
cc_test
|
cc_toolchain
cc_toolchain_suite |
Java |
java_binary
|
java_import
java_library java_lite_proto_library java_proto_library |
java_test
|
java_package_configuration
java_plugin java_runtime java_toolchain |
Objective-C |
j2objc_library
objc_import objc_library |
available_xcodes
xcode_config xcode_version |
||
Protocol Buffer |
proto_lang_toolchain
proto_library |
|||
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 |