# 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.
build --incompatible_disallow_empty_glob

# 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
# 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

# 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 --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 --action_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 --extra_toolchains=@io_kythe//tools/build_rules/lexyacc:lexyacc_remote_toolchain

build:remote --action_env=LEIN_JAVA_CMD=

test:prepush --verbose_failures --noshow_loading_progress --noshow_progress

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