From 45abdb21af8e68df78cc42a1df4edf7d15cc4d80 Mon Sep 17 00:00:00 2001 From: Kousik Kumar Date: Mon, 14 Sep 2020 07:18:23 +0000 Subject: [PATCH] [DO NOT MERGE] Add rbesetup.sh script to Q branch Bug: b/166182389 Merged-In: I2413a3648e9b2ff680cab6fededc07bbdd43378f Change-Id: I2413a3648e9b2ff680cab6fededc07bbdd43378f --- rbesetup.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 rbesetup.sh diff --git a/rbesetup.sh b/rbesetup.sh new file mode 100644 index 000000000..5781f05e4 --- /dev/null +++ b/rbesetup.sh @@ -0,0 +1,43 @@ +source build/envsetup.sh +# This function prefixes the given command with appropriate variables needed +# for the build to be executed with RBE. +function use_rbe() { + local RBE_LOG_DIR="/tmp" + local RBE_BINARIES_DIR="prebuilts/remoteexecution-client/latest" + local DOCKER_IMAGE="gcr.io/androidbuild-re-dockerimage/android-build-remoteexec-image@sha256:582efb38f0c229ea39952fff9e132ccbe183e14869b39888010dacf56b360d62" + # Do not set an invocation-ID and let reproxy auto-generate one. + USE_RBE="true" \ + FLAG_server_address="unix:///tmp/reproxy_$RANDOM.sock" \ + FLAG_exec_root="$(gettop)" \ + FLAG_platform="container-image=docker://${DOCKER_IMAGE}" \ + RBE_use_application_default_credentials="true" \ + RBE_log_dir="${RBE_LOG_DIR}" \ + RBE_reproxy_wait_seconds="20" \ + RBE_output_dir="${RBE_LOG_DIR}" \ + RBE_log_path="text://${RBE_LOG_DIR}/reproxy_log.txt" \ + RBE_CXX_EXEC_STRATEGY="remote_local_fallback" \ + RBE_cpp_dependency_scanner_plugin="${RBE_BINARIES_DIR}/dependency_scanner_go_plugin.so" \ + RBE_DIR=${RBE_BINARIES_DIR} \ + RBE_re_proxy="${RBE_BINARIES_DIR}/reproxy" \ + $@ +} +# This function detects if the uploader is available and sets the path of it to +# ANDROID_ENABLE_METRICS_UPLOAD. +function _export_metrics_uploader() { + local uploader_path="$(gettop)/vendor/google/misc/metrics_uploader_prebuilt/metrics_uploader.sh" + if [ -x "${uploader_path}" ]; then + export ANDROID_ENABLE_METRICS_UPLOAD="${uploader_path}" + fi +} +# This function sets RBE specific environment variables needed for the build to +# executed by RBE. This file should be sourced once per checkout of Android code. +function _set_rbe_vars() { + unset USE_GOMA + export USE_RBE="true" + export RBE_CXX_EXEC_STRATEGY="remote_local_fallback" + export RBE_JAVAC=1 + export RBE_R8=1 + export RBE_D8=1 +} +_export_metrics_uploader +_set_rbe_vars