# 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

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
