diff --git a/envsetup.sh b/envsetup.sh index a3b07a76be..3f906f9639 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -318,6 +318,59 @@ function setpaths() #export HOST_EXTRACFLAGS="-I "$T/system/kernel_headers/host_include } +function abazel() +{ + local T="$(gettop)" + if [ ! "$T" ]; then + echo "Couldn't locate the top of the tree. Try setting TOP." + return + fi + + case $(uname -s) in + Darwin) + ANDROID_BAZEL_PATH="${T}/prebuilts/bazel/darwin-x86_64/bazel" + ANDROID_BAZELRC_PATH="${T}/build/bazel/darwin.bazelrc" + ANDROID_BAZEL_JDK_PATH="${T}/prebuilts/jdk/jdk11/darwin-x86" + ;; + Linux) + ANDROID_BAZEL_PATH="${T}/prebuilts/bazel/linux-x86_64/bazel" + ANDROID_BAZELRC_PATH="${T}/build/bazel/linux.bazelrc" + ANDROID_BAZEL_JDK_PATH="${T}/prebuilts/jdk/jdk11/linux-x86" + ;; + *) + ANDROID_BAZEL_PATH= + ANDROID_BAZELRC_PATH= + ANDROID_BAZEL_JDK_PATH= + ;; + esac + + if [ -n "$ANDROID_BAZEL_PATH" -a -f "$ANDROID_BAZEL_PATH" ]; then + export ANDROID_BAZEL_PATH + else + echo "Couldn't locate Bazel binary" + return + fi + + if [ -n "$ANDROID_BAZELRC_PATH" -a -f "$ANDROID_BAZELRC_PATH" ]; then + export ANDROID_BAZELRC_PATH + else + echo "Couldn't locate bazelrc file for Bazel" + return + fi + + if [ -n "$ANDROID_BAZEL_JDK_PATH" -a -d "$ANDROID_BAZEL_JDK_PATH" ]; then + export ANDROID_BAZEL_JDK_PATH + else + echo "Couldn't locate JDK to use for Bazel" + return + fi + + echo "WARNING: Bazel support for the Android Platform is experimental and is undergoing development." + echo "WARNING: Currently, build stability is not guaranteed. Thank you." + echo + "${ANDROID_BAZEL_PATH}" --server_javabase="${ANDROID_BAZEL_JDK_PATH}" --bazelrc="${ANDROID_BAZELRC_PATH}" "$@" +} + function printconfig() { local T=$(gettop)