IMPORTANT: The Bazel docs have moved! Please update your bookmark to https://bazel.build/reference/be/overview

You can read about the migration, and let us know what you think.

Bazel BUILD Encyclopedia of Functions

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_instrumentation_test
android_local_test
android_device
android_ndk_repository
android_sdk_repository
C / C++ cc_binary
cc_import
cc_library
cc_proto_library
fdo_prefetch_hints
fdo_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 apple_static_library
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
Platform
Workspace