| # Copyright 2016 The Bazel Authors. All rights reserved. | 
 | # | 
 | # Licensed under the Apache License, Version 2.0 (the "License"); | 
 | # you may not use this file except in compliance with the License. | 
 | # You may obtain a copy of the License at | 
 | # | 
 | #    http://www.apache.org/licenses/LICENSE-2.0 | 
 | # | 
 | # Unless required by applicable law or agreed to in writing, software | 
 | # distributed under the License is distributed on an "AS IS" BASIS, | 
 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | # See the License for the specific language governing permissions and | 
 | # limitations under the License. | 
 |  | 
 | # This .bazelrc file contains all of the flags required for the provided | 
 | # toolchain with Remote Build Execution. | 
 |  | 
 | # Remote Build Execution requires a strong hash function, such as SHA256. | 
 | startup --host_jvm_args=-Dbazel.DigestFunction=SHA256 | 
 |  | 
 | # Depending on how many machines are in the remote execution instance, setting | 
 | # this higher can make builds faster by allowing more jobs to run in parallel. | 
 | # Setting it too high can result in jobs that timeout, however, while waiting | 
 | # for a remote machine to execute them. | 
 | build:remote --jobs=50 | 
 |  | 
 | # Set several flags related to specifying the toolchain and java properties. | 
 | # These flags are duplicated rather than imported from (for example) | 
 | # %workspace%/configs/ubuntu16_04_clang/1.0/toolchain.bazelrc to make this | 
 | # bazelrc a standalone file that can be copied more easily. | 
 | # These flags should only be used as is for the rbe-ubuntu16-04 container | 
 | # and need to be adapted to work with other toolchain containers. | 
 | build:remote --host_javabase=@bazel_toolchains//configs/ubuntu16_04_clang/1.0:jdk8 | 
 | build:remote --javabase=@bazel_toolchains//configs/ubuntu16_04_clang/1.0:jdk8 | 
 | build:remote --crosstool_top=@bazel_toolchains//configs/ubuntu16_04_clang/1.0/bazel_0.14.1/default:toolchain | 
 | build:remote --experimental_remote_platform_override='properties:{ name:"container-image" value:"docker://gcr.io/cloud-marketplace/google/rbe-ubuntu16-04@sha256:59bf0e191a6b5cc1ab62c2224c810681d1326bad5a27b1d36c9f40113e79da7f" }' | 
 | build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 | 
 | build:remote --extra_toolchains=@bazel_toolchains//configs/ubuntu16_04_clang/1.0/bazel_0.14.1/cpp:cc-toolchain-clang-x86_64-default | 
 | build:remote --extra_execution_platforms=@bazel_toolchains//configs/ubuntu16_04_clang/1.0:rbe_ubuntu1604 | 
 |  | 
 | # Set various strategies so that all actions execute remotely. Mixing remote | 
 | # and local execution will lead to errors unless the toolchain and remote | 
 | # machine exactly match the host machine. | 
 | 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 | 
 |  | 
 | # Enable the remote cache so action results can be shared across machines, | 
 | # developers, and workspaces. | 
 | build:remote --remote_cache=remotebuildexecution.googleapis.com | 
 |  | 
 | # Enable remote execution so actions are performed on the remote systems. | 
 | build:remote --remote_executor=remotebuildexecution.googleapis.com | 
 |  | 
 | # Enable encryption. | 
 | build:remote --tls_enabled=true | 
 |  | 
 | # Enforce stricter environment rules, which eliminates some non-hermetic | 
 | # behavior and therefore improves both the remote cache hit rate and the | 
 | # correctness and repeatability of the build. | 
 | build:remote --experimental_strict_action_env=true | 
 |  | 
 | # Set a higher timeout value, just in case. | 
 | build:remote --remote_timeout=3600 | 
 |  | 
 | # Enable authentication. This will pick up application default credentials by | 
 | # default. You can use --auth_credentials=some_file.json to use a service | 
 | # account credential instead. | 
 | build:remote --auth_enabled=true | 
 |  | 
 | # The following flags are only necessary for local docker sandboxing | 
 | # with the rbe-ubuntu16-04 container. Use of these flags is still experimental. | 
 | build:docker-sandbox --host_javabase=@bazel_toolchains//configs/ubuntu16_04_clang/1.0:jdk8 | 
 | build:docker-sandbox --javabase=@bazel_toolchains//configs/ubuntu16_04_clang/1.0:jdk8 | 
 | build:docker-sandbox --crosstool_top=@bazel_toolchains//configs/ubuntu16_04_clang/1.0/bazel_0.14.1/default:toolchain | 
 | build:docker-sandbox --experimental_docker_image=gcr.io/cloud-marketplace/google/rbe-ubuntu16-04@sha256:59bf0e191a6b5cc1ab62c2224c810681d1326bad5a27b1d36c9f40113e79da7f | 
 | build:docker-sandbox --spawn_strategy=docker | 
 | build:docker-sandbox --strategy=Javac=docker | 
 | build:docker-sandbox --strategy=Closure=docker | 
 | build:docker-sandbox --genrule_strategy=docker | 
 | build:docker-sandbox --define=EXECUTOR=remote | 
 | build:docker-sandbox --experimental_docker_verbose | 
 | build:docker-sandbox --experimental_enable_docker_sandbox |