Use handcrafted build targets in bp2build

If both bp2build_available and label are specified, label will be
preferred.

Initially, we copy the entire BUILD.bazel file. Eventually we may move
this to use bazel query for a more accurate result.

Test: go test *
Test: build/bazel/scripts/milestone-2/demo.sh full
Test: GENERATE_BAZEL_FILES=true m nothing
      edit bionic/libc/tools/BUILD.bazel
      GENERATE_BAZEL_FILES=true m nothing and verify changes picked up
Bug: 180516554
Change-Id: I43025583300e6b10d2c18032cd4a76237b578d59
This commit is contained in:
Liz Kammer
2021-02-17 13:22:03 -05:00
parent ca5e611e0a
commit ba3ea16f14
12 changed files with 339 additions and 54 deletions

View File

@@ -198,7 +198,6 @@ func runBp2Build(srcDir string, configuration android.Config) {
if err != nil {
panic(err)
}
extraNinjaDepsString := strings.Join(extraNinjaDeps, " \\\n ")
// Run the loading and analysis pipeline to prepare the graph of regular
// Modules parsed from Android.bp files, and the BazelTargetModules mapped
@@ -215,6 +214,9 @@ func runBp2Build(srcDir string, configuration android.Config) {
// 1:1 mapping for each module.
metrics.Print()
extraNinjaDeps = append(extraNinjaDeps, codegenContext.AdditionalNinjaDeps()...)
extraNinjaDepsString := strings.Join(extraNinjaDeps, " \\\n ")
// Workarounds to support running bp2build in a clean AOSP checkout with no
// prior builds, and exiting early as soon as the BUILD files get generated,
// therefore not creating build.ninja files that soong_ui and callers of