Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56e576dc authored by Sam Delmerico's avatar Sam Delmerico
Browse files

skip soong tests by default for b command

It doesn't really make sense to incur the cost of running Soong tests to
Bazel users. We can shave off 20 seconds from the local critical path
during clean builds (or if Soong itself has changed) by enabling
--skip-soong-tests in the b command.

Test: b build '...'
Test: b build '...' --run-soong-tests
Bug: 240231596
Change-Id: I77d652502dc000908166e13045aa3e245c2e762c
parent aa6a6a4f
Loading
Loading
Loading
Loading
+21 −8
Original line number Diff line number Diff line
@@ -1838,10 +1838,17 @@ function _trigger_build()
# Convenience entry point (like m) to use Bazel in AOSP.
function b()
(
    # Look for the --run-soong-tests flag and skip passing --skip-soong-tests to Soong if present
    local run_tests=$(echo "$@" | grep -ow -- "--run-soong-tests")
    local bazel_args=(${@/--run-soong-tests})
    local skip_tests="--skip-soong-tests"
    if [[ -n $run_tests ]]; then
        skip_tests=""
    fi
    # Generate BUILD, bzl files into the synthetic Bazel workspace (out/soong/workspace).
    _trigger_build "all-modules" bp2build USE_BAZEL_ANALYSIS= || return 1
    _trigger_build "all-modules" bp2build USE_BAZEL_ANALYSIS= $skip_tests || return 1
    # Then, run Bazel using the synthetic workspace as the --package_path.
    if [[ -z "$@" ]]; then
    if [[ -z "$bazel_args" ]]; then
        # If there are no args, show help.
        bazel help
    else
@@ -1849,17 +1856,23 @@ function b()
        # Add the --config=bp2build after the first argument that doesn't start with a dash. That should be the bazel
        # command. (build, test, run, ect) If the --config was added at the end, it wouldn't work with commands like:
        # b run //foo -- --args-for-foo
        local previous_args=""
        for arg in $@;
        local pre_config_args=""
        local post_config_args=""
        local start_post_config_args=0
        for arg in $bazel_args;
        do
            previous_args+="$arg "
            shift
            if [[ $start_post_config_args -eq 0 ]]; then
                pre_config_args+="$arg "
            else
                post_config_args+="$arg "
            fi

            if [[ $arg != -* ]]; # if $arg doesn't start with a dash
            then
                break
                start_post_config_args=1
            fi
        done
        bazel $previous_args --config=bp2build $@
        eval "bazel $pre_config_args --config=bp2build $post_config_args"
    fi
)