# Remote Build Execution requires a strong hash function, such as SHA256.
startup --host_jvm_args=-Dbazel.DigestFunction=SHA256

# Compatibility options
build --incompatible_require_ctx_in_configure_features # remove in 0.26
build --incompatible_string_join_requires_strings      # remove in 0.27

# TODO(#3816): fix build with this enabled
build --incompatible_list_based_execution_strategy_selection=false

# Required for build_bazel_rules_nodejs
common --experimental_allow_incremental_repository_updates

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

# 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

# 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 --tls_enabled=true

build:remote --jobs=50
build:remote --remote_timeout=3600
build:remote --remote_cache=remotebuildexecution.googleapis.com
build:remote --remote_executor=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/"

build:remote --spawn_strategy=remote
build:remote --strategy=Javac=remote
build:remote --strategy=Closure=remote
build:remote --genrule_strategy=remote
build:remote --define=EXECUTOR=remote

build:remote --host_javabase=@bazel_toolchains//configs/ubuntu16_04_clang/1.2:jdk11
build:remote --javabase=@bazel_toolchains//configs/ubuntu16_04_clang/1.2:jdk11
build:remote --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_java8
build:remote --java_toolchain=@bazel_tools//tools/jdk:toolchain_java8

build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
build:remote --crosstool_top=@bazel_toolchains//configs/ubuntu16_04_clang/1.2/bazel_0.25.0/default:toolchain
build:remote --extra_toolchains=@bazel_toolchains//configs/ubuntu16_04_clang/1.2/bazel_0.25.0/cpp:cc-toolchain-clang-x86_64-default

build:remote --extra_execution_platforms=//tools/platforms:rbe
build:remote --host_platform=//tools/platforms:rbe
build:remote --platforms=//tools/platforms:rbe

build:remote --extra_toolchains=@io_kythe//tools/build_rules/lexyacc:lexyacc_remote_toolchain

build:remote --action_env=LEIN_JAVA_CMD=

# Support user-provided user.bazelrc
try-import user.bazelrc
