diff options
Diffstat (limited to 'build/apex/runtests.sh')
| -rwxr-xr-x | build/apex/runtests.sh | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/build/apex/runtests.sh b/build/apex/runtests.sh index a452fe619a..cdbb7c0645 100755 --- a/build/apex/runtests.sh +++ b/build/apex/runtests.sh @@ -59,14 +59,27 @@ if [ ! -d $ANDROID_BUILD_TOP/frameworks/base ]; then export TARGET_BUILD_UNBUNDLED=true fi -have_deapexer_p=false +deapex_binaries=( + blkid_static + deapexer + debugfs_static + fsck.erofs +) + +have_deapex_binaries=false if [[ "$TARGET_FLATTEN_APEX" != true ]]; then - if [ ! -e "$HOST_OUT/bin/deapexer" -o ! -e "$HOST_OUT/bin/debugfs_static" ] ; then - say "Could not find deapexer and/or debugfs_static, building now." - build/soong/soong_ui.bash --make-mode deapexer debugfs_static-host || \ - die "Cannot build deapexer and debugfs_static" + have_deapex_binaries=true + for f in ${deapex_binaries[@]}; do + if [ ! -e "$HOST_OUT/bin/$f" ]; then + have_deapex_binaries=false + fi + done + if $have_deapex_binaries; then :; else + deapex_targets=( ${deapex_binaries[@]/%/-host} ) + say "Building host binaries for deapexer: ${deapex_targets[*]}" + build/soong/soong_ui.bash --make-mode ${deapex_targets[@]} || \ + die "Failed to build: ${deapex_targets[*]}" fi - have_deapexer_p=true fi # Fail early. @@ -203,9 +216,11 @@ for apex_module in ${apex_modules[@]}; do apex_path="$PRODUCT_OUT/system/apex/${apex_module}.apex" fi fi - if $have_deapexer_p; then + if $have_deapex_binaries; then art_apex_test_args="$art_apex_test_args --deapexer $HOST_OUT/bin/deapexer" art_apex_test_args="$art_apex_test_args --debugfs $HOST_OUT/bin/debugfs_static" + art_apex_test_args="$art_apex_test_args --fsckerofs $HOST_OUT/bin/fsck.erofs" + art_apex_test_args="$art_apex_test_args --blkid $HOST_OUT/bin/blkid_static" fi case $apex_module in (*.debug) test_only_args="--flavor debug";; |