blob: 1e8c34994cc619e6cadd06b61ccd614e0ca7260b [file] [log] [blame]
#!/bin/bash -eux
#
# Script to run some local APEX tests while APEX support is WIP and not easily testable on CI
set -o pipefail
# TODO: Refactor build/make/envsetup.sh to make gettop() available elsewhere
function gettop
{
# Function uses potentially uninitialzied variables
set +u
local TOPFILE=build/bazel/bazel.sh
if [ -n "$TOP" -a -f "$TOP/$TOPFILE" ] ; then
# The following circumlocution ensures we remove symlinks from TOP.
(cd "$TOP"; PWD= /bin/pwd)
else
if [ -f $TOPFILE ] ; then
# The following circumlocution (repeated below as well) ensures
# that we record the true directory name and not one that is
# faked up with symlink names.
PWD= /bin/pwd
else
local HERE=$PWD
local T=
while [ \( ! \( -f $TOPFILE \) \) -a \( "$PWD" != "/" \) ]; do
\cd ..
T=`PWD= /bin/pwd -P`
done
\cd "$HERE"
if [ -f "$T/$TOPFILE" ]; then
echo "$T"
fi
fi
fi
set -u
}
AOSP_ROOT=`gettop`
# Generate BUILD files into out/soong/bp2build
"${AOSP_ROOT}/build/soong/soong_ui.bash" --make-mode bp2build --skip-soong-tests
BUILD_FLAGS_LIST=(
--color=no
--curses=no
--show_progress_rate_limit=5
--config=bp2build
)
BUILD_FLAGS="${BUILD_FLAGS_LIST[@]}"
TEST_FLAGS_LIST=(
--keep_going
--test_output=errors
)
TEST_FLAGS="${TEST_FLAGS_LIST[@]}"
BUILD_TARGETS_LIST=(
//build/bazel/examples/apex/minimal:build.bazel.examples.apex.minimal
//system/timezone/apex:com.android.tzdata
)
BUILD_TARGETS="${BUILD_TARGETS_LIST[@]}"
echo "Building APEXes with Bazel..."
${AOSP_ROOT}/tools/bazel --max_idle_secs=5 build ${BUILD_FLAGS} --platforms //build/bazel/platforms:android_x86 -k ${BUILD_TARGETS}
${AOSP_ROOT}/tools/bazel --max_idle_secs=5 build ${BUILD_FLAGS} --platforms //build/bazel/platforms:android_x86_64 -k ${BUILD_TARGETS}
${AOSP_ROOT}/tools/bazel --max_idle_secs=5 build ${BUILD_FLAGS} --platforms //build/bazel/platforms:android_arm -k ${BUILD_TARGETS}
${AOSP_ROOT}/tools/bazel --max_idle_secs=5 build ${BUILD_FLAGS} --platforms //build/bazel/platforms:android_arm64 -k ${BUILD_TARGETS}
set +x
echo
echo "All tests passed, you are awesome!"