Add groundwork to easily all-enable bazel-mode
This will make it easy to change a "false" boolean to "true" to push `--bazel-mode` by default for all users. Users may disable bazel-by-default with BUILD_BROKEN_DISABLE_BAZEL, and bazel is disabled by default on Darwin hosts (due to lack of test coverage). Bug: 254628592 Bug: 254084584 Test: Presubmits Test: Presubmits for aosp/2263623 Change-Id: Iec712119e06ca8ec93028207d88277f879184cc2
This commit is contained in:
parent
0fc368cff7
commit
b6e9690776
6 changed files with 23 additions and 10 deletions
|
@ -547,7 +547,6 @@ function test_bp2build_smoke {
|
||||||
|
|
||||||
function test_bp2build_generates_marker_file {
|
function test_bp2build_generates_marker_file {
|
||||||
setup
|
setup
|
||||||
create_mock_bazel
|
|
||||||
|
|
||||||
run_soong bp2build
|
run_soong bp2build
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,6 @@ test_bp2build_null_build_with_globs
|
||||||
|
|
||||||
function test_different_relative_outdir {
|
function test_different_relative_outdir {
|
||||||
setup
|
setup
|
||||||
create_mock_bazel
|
|
||||||
|
|
||||||
mkdir -p a
|
mkdir -p a
|
||||||
touch a/g.txt
|
touch a/g.txt
|
||||||
|
@ -73,7 +72,6 @@ test_different_relative_outdir
|
||||||
|
|
||||||
function test_different_absolute_outdir {
|
function test_different_absolute_outdir {
|
||||||
setup
|
setup
|
||||||
create_mock_bazel
|
|
||||||
|
|
||||||
mkdir -p a
|
mkdir -p a
|
||||||
touch a/g.txt
|
touch a/g.txt
|
||||||
|
@ -96,7 +94,6 @@ test_different_absolute_outdir
|
||||||
|
|
||||||
function test_bp2build_generates_all_buildfiles {
|
function test_bp2build_generates_all_buildfiles {
|
||||||
setup
|
setup
|
||||||
create_mock_bazel
|
|
||||||
|
|
||||||
mkdir -p foo/convertible_soong_module
|
mkdir -p foo/convertible_soong_module
|
||||||
cat > foo/convertible_soong_module/Android.bp <<'EOF'
|
cat > foo/convertible_soong_module/Android.bp <<'EOF'
|
||||||
|
@ -167,7 +164,6 @@ eval ${_save_trap}
|
||||||
|
|
||||||
function test_cc_correctness {
|
function test_cc_correctness {
|
||||||
setup
|
setup
|
||||||
create_mock_bazel
|
|
||||||
|
|
||||||
mkdir -p a
|
mkdir -p a
|
||||||
cat > a/Android.bp <<EOF
|
cat > a/Android.bp <<EOF
|
||||||
|
|
|
@ -82,10 +82,10 @@ function symlink_directory {
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_mock_soong {
|
function create_mock_soong {
|
||||||
|
create_mock_bazel
|
||||||
copy_directory build/blueprint
|
copy_directory build/blueprint
|
||||||
copy_directory build/soong
|
copy_directory build/soong
|
||||||
copy_directory build/make/tools/rbcrun
|
copy_directory build/make/tools/rbcrun
|
||||||
copy_directory prebuilts/bazel/common/proto
|
|
||||||
|
|
||||||
symlink_directory prebuilts/sdk
|
symlink_directory prebuilts/sdk
|
||||||
symlink_directory prebuilts/go
|
symlink_directory prebuilts/go
|
||||||
|
|
|
@ -12,7 +12,6 @@ source "$(dirname "$0")/lib.sh"
|
||||||
|
|
||||||
function test_bazel_smoke {
|
function test_bazel_smoke {
|
||||||
setup
|
setup
|
||||||
create_mock_bazel
|
|
||||||
|
|
||||||
run_soong bp2build
|
run_soong bp2build
|
||||||
|
|
||||||
|
@ -21,7 +20,6 @@ function test_bazel_smoke {
|
||||||
|
|
||||||
function test_add_irrelevant_file {
|
function test_add_irrelevant_file {
|
||||||
setup
|
setup
|
||||||
create_mock_bazel
|
|
||||||
|
|
||||||
mkdir -p soong_tests/a/b
|
mkdir -p soong_tests/a/b
|
||||||
touch soong_tests/a/b/c.txt
|
touch soong_tests/a/b/c.txt
|
||||||
|
@ -33,7 +31,7 @@ filegroup {
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
run_soong --bazel-mode nothing
|
run_soong --bazel-mode-staging nothing
|
||||||
|
|
||||||
if [[ ! -e out/soong/bp2build/soong_tests/a/b/BUILD.bazel ]]; then
|
if [[ ! -e out/soong/bp2build/soong_tests/a/b/BUILD.bazel ]]; then
|
||||||
fail "BUILD.bazel not created"
|
fail "BUILD.bazel not created"
|
||||||
|
@ -48,7 +46,7 @@ EOF
|
||||||
|
|
||||||
touch soong_tests/a/irrelevant.txt
|
touch soong_tests/a/irrelevant.txt
|
||||||
|
|
||||||
run_soong --bazel-mode nothing
|
run_soong --bazel-mode-staging nothing
|
||||||
local mtime_build2=$(stat -c "%y" out/soong/bp2build/soong_tests/a/b/BUILD.bazel)
|
local mtime_build2=$(stat -c "%y" out/soong/bp2build/soong_tests/a/b/BUILD.bazel)
|
||||||
local mtime_ninja2=$(stat -c "%y" out/soong/build.ninja)
|
local mtime_ninja2=$(stat -c "%y" out/soong/build.ninja)
|
||||||
|
|
||||||
|
|
|
@ -236,6 +236,21 @@ func loadEnvConfig(ctx Context, config *configImpl) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func defaultBazelProdMode(cfg *configImpl) bool {
|
||||||
|
// Envirnoment flag to disable Bazel for users which experience
|
||||||
|
// broken bazel-handled builds, or significant performance regressions.
|
||||||
|
if cfg.IsBazelMixedBuildForceDisabled() {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
// Darwin-host builds are currently untested with Bazel.
|
||||||
|
if runtime.GOOS == "darwin" {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
// TODO(b/255364055): Flip this to true to enable bazel-mode by default
|
||||||
|
// for all users that don't opt out with BUILD_BROKEN_DISABLE_BAZEL.
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func NewConfig(ctx Context, args ...string) Config {
|
func NewConfig(ctx Context, args ...string) Config {
|
||||||
ret := &configImpl{
|
ret := &configImpl{
|
||||||
environ: OsEnvironment(),
|
environ: OsEnvironment(),
|
||||||
|
@ -774,6 +789,9 @@ func (c *configImpl) parseArgs(ctx Context, args []string) {
|
||||||
c.arguments = append(c.arguments, arg)
|
c.arguments = append(c.arguments, arg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!c.bazelProdMode) && (!c.bazelDevMode) && (!c.bazelStagingMode) {
|
||||||
|
c.bazelProdMode = defaultBazelProdMode(c)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *configImpl) configureLocale(ctx Context) {
|
func (c *configImpl) configureLocale(ctx Context) {
|
||||||
|
|
|
@ -90,7 +90,9 @@ func TestConfigParseArgsJK(t *testing.T) {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
env := Environment([]string{})
|
||||||
c := &configImpl{
|
c := &configImpl{
|
||||||
|
environ: &env,
|
||||||
parallel: -1,
|
parallel: -1,
|
||||||
keepGoing: -1,
|
keepGoing: -1,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue