You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.9 KiB
51 lines
1.9 KiB
#!/bin/bash -eux
|
|
# Verifies that bp2build-generated BUILD files for bionic (and its dependencies)
|
|
# result in successful Bazel builds.
|
|
# This verification script is designed to be used for continuous integration
|
|
# tests, though may also be used for manual developer verification.
|
|
|
|
if [[ -z ${DIST_DIR+x} ]]; then
|
|
echo "DIST_DIR not set. Using out/dist. This should only be used for manual developer testing."
|
|
DIST_DIR="out/dist"
|
|
fi
|
|
|
|
# Generate BUILD files into out/soong/bp2build
|
|
AOSP_ROOT="$(dirname $0)/../../.."
|
|
GENERATE_BAZEL_FILES=true "${AOSP_ROOT}/build/soong/soong_ui.bash" --make-mode nothing --skip-soong-tests
|
|
|
|
# Remove the ninja_build output marker file to communicate to buildbot that this is not a regular Ninja build, and its
|
|
# output should not be parsed as such.
|
|
rm -f out/ninja_build
|
|
|
|
# We could create .bazelrc files and use them on buildbots with --bazelrc, but
|
|
# it's simpler to use a list for now.
|
|
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 for various architectures.
|
|
BUILD_TARGETS_LIST=(
|
|
//bionic/...
|
|
//system/...
|
|
//external/arm-optimized-routines/...
|
|
//external/scudo/...
|
|
)
|
|
BUILD_TARGETS="${BUILD_TARGETS_LIST[@]}"
|
|
tools/bazel --max_idle_secs=5 build ${BUILD_FLAGS} --platforms //build/bazel/platforms:android_x86 -k ${BUILD_TARGETS}
|
|
tools/bazel --max_idle_secs=5 build ${BUILD_FLAGS} --platforms //build/bazel/platforms:android_x86_64 -k ${BUILD_TARGETS}
|
|
tools/bazel --max_idle_secs=5 build ${BUILD_FLAGS} --platforms //build/bazel/platforms:android_arm -k ${BUILD_TARGETS}
|
|
tools/bazel --max_idle_secs=5 build ${BUILD_FLAGS} --platforms //build/bazel/platforms:android_arm64 -k ${BUILD_TARGETS}
|
|
|
|
# Run tests.
|
|
tools/bazel --max_idle_secs=5 test ${BUILD_FLAGS} ${TEST_FLAGS} //build/bazel/tests/...
|