blob: 55499040e9010233c4d713b109dd0df4487fd7aa [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 8, run on Java 11
build --java_toolchain=@bazel_tools//tools/jdk:toolchain_java8
build --javabase=@bazel_tools//tools/jdk:remote_jdk11
build --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_java8
build --host_javabase=@bazel_tools//tools/jdk:remote_jdk11
# 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 --project_id=kythe-repo
build:remote --auth_enabled=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
# 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 --host_javabase=@rbe_default//java:jdk
build:remote --javabase=@rbe_default//java:jdk
build:remote --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_java8
build:remote --java_toolchain=@bazel_tools//tools/jdk:toolchain_java8
build:remote --repo_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
build:remote --crosstool_top=@rbe_default//cc:toolchain
build:remote --extra_toolchains=@rbe_default//config:cc-toolchain
build:remote --extra_execution_platforms=@rbe_default//config:platform
build:remote --host_platform=@rbe_default//config:platform
build:remote --platforms=@rbe_default//config:platform
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