blob: 7781c9bcc711fb7bd865514bd4c20d9eab4a62cd [file] [log] [blame]
# Remote Build Execution requires a strong hash function, such as SHA256.
startup --host_jvm_args=-Dbazel.DigestFunction=SHA256
# Disable persistent workers for Typescript (#3816)
build --strategy=TypeScriptCompile=sandboxed,local
# Compatibility flags to avoid regressions.
common --incompatible_disallow_empty_glob
build --workspace_status_command tools/buildstamp/get_workspace_status
build --auto_cpu_environment_group=//buildenv:cpu
# Ensure clang is used, by default, over any other C++ installation (e.g. gcc).
build --client_env=CC=clang
# We require C++17, but bazel defaults to C++0x (pre-C++11).
build --cxxopt=-std=c++17 --host_cxxopt=-std=c++17 --client_env=BAZEL_CXXOPTS=-std=c++17
# Don't warn on deprecations when compiling protobufs.
# This generates a lot of spurious warnings when compiling the definitions of proto fields
# which are marked deprecated.
build --per_file_copt=.*\.pb\.cc@-Wno-deprecated-declarations
# Disable diagnostics on external repositories as we don't control them.
build --per_file_copt=external/.*@-w
# Disable diagnostics in host mode. There is no host_per_file_copt and
# everything we build in the host configuration we either also build in the
# target configuration or is external, so we can't control it.
# If/when Bazel supports --host_per_file_copt, we could use that instead:
# https://github.com/bazelbuild/bazel/issues/12406.
build --host_copt=-w
# Ensure environment variables are static across machines; allows for cross-user caching.
build --experimental_strict_action_env
# By default, compile for Java 11, run on Java 11
build --java_language_version=11
build --tool_java_language_version=11
build --java_runtime_version=remotejdk_11
build --tool_java_runtime_version=remotejdk_11
# Import default javacopts
import %workspace%/tools/javacopts.bazelrc
# For release, stamp binaries, use optimized mode w/ minimum line table debugging.
build:release --stamp -c opt --copt=-gmlt
# Use the RBE instance in the kythe-repo project
build:remote --remote_instance_name=projects/kythe-repo/instances/default_instance --bes_instance_name=kythe-repo
build:remote --google_default_credentials=true
build:remote --jobs=50
build:remote --remote_timeout=3600
build:remote --remote_cache=grpcs://remotebuildexecution.googleapis.com
build:remote --remote_executor=grpcs://remotebuildexecution.googleapis.com
# Avoid fetching unnecessary intermediate files locally.
build:remote --remote_download_toplevel
# TODO(schroederc): add buildeventservice
# build:remote --bes_backend="buildeventservice.googleapis.com"
# build:remote --bes_timeout=60s
# build:remote --bes_results_url="https://source.cloud.google.com/results/invocations/"
# Starting with Bazel 0.27.0 strategies do not need to be explicitly
# # defined. See https://github.com/bazelbuild/bazel/issues/7480
build:remote --define=EXECUTOR=remote
build:remote --java_runtime_version=rbe_jdk
build:remote --tool_java_runtime_version=rbe_jdk
build:remote --extra_toolchains=//tools/platforms/configs/rbe_default/java:all
build:remote --repo_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
build:remote --crosstool_top=//tools/platforms/configs/rbe_default/cc:toolchain
build:remote --extra_toolchains=//tools/platforms/configs/rbe_default/config:cc-toolchain
build:remote --extra_execution_platforms=//tools/platforms:rbe
build:remote --host_platform=//tools/platforms:rbe
build:remote --platforms=//tools/platforms:rbe
build:remote --repo_env=KYTHE_DO_NOT_DETECT_BAZEL_TOOLCHAINS=1
build:remote --extra_toolchains=//tools/build_rules/lexyacc:lexyacc_remote_toolchain
build:remote --extra_toolchains=//tools/build_rules/external_tools:external_tools_remote_toolchain
build:remote --action_env=LEIN_JAVA_CMD=
test:prepush --verbose_failures --noshow_loading_progress --noshow_progress
test:prepush --test_summary=terse --test_output=errors
test:prepush --test_tag_filters=-manual,-broken,-arc-ignore,-docker
# Support user-provided user.bazelrc
try-import %workspace%/user.bazelrc