Bazel BUILD Encyclopedia of Functions

Report an issue View source

Concepts and terminology

Functions

Rules

Native rules ship with the Bazel binary and do not require a load 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_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_test
cc_toolchain
cc_toolchain_suite
fdo_prefetch_hints
fdo_profile
memprof_profile
propeller_optimize
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
xcode_config
xcode_version
Protocol Buffer proto_library
proto_lang_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