Remove old BUILD file merging code
It's not needed anymore since aosp/2197837,
it should've been removed in that cl but I forgot.
Bug: 234167862
Test: ./build/bazel/ci/bp2build.sh
Change-Id: I3d67a6e1894ad401525070ad37d3158708898306
diff --git a/android/allowlists/allowlists.go b/android/allowlists/allowlists.go
index 0cdf792..3223b04 100644
--- a/android/allowlists/allowlists.go
+++ b/android/allowlists/allowlists.go
@@ -295,6 +295,7 @@
"external/bazel-skylib":/* recursive = */ true,
"external/guava":/* recursive = */ true,
"external/jsr305":/* recursive = */ true,
+ "external/protobuf":/* recursive = */ false,
"frameworks/ex/common":/* recursive = */ true,
"packages/apps/Music":/* recursive = */ true,
@@ -302,6 +303,7 @@
"prebuilts/bazel":/* recursive = */ true,
"prebuilts/bundletool":/* recursive = */ true,
+ "prebuilts/clang/host/linux-x86":/* recursive = */ false,
"prebuilts/gcc":/* recursive = */ true,
"prebuilts/build-tools":/* recursive = */ true,
"prebuilts/jdk/jdk11":/* recursive = */ false,
diff --git a/android/bazel.go b/android/bazel.go
index 15729c1..27ec92b 100644
--- a/android/bazel.go
+++ b/android/bazel.go
@@ -17,9 +17,6 @@
import (
"bufio"
"errors"
- "fmt"
- "io/ioutil"
- "path/filepath"
"strings"
"github.com/google/blueprint"
@@ -117,7 +114,6 @@
GetBazelLabel(ctx BazelConversionPathContext, module blueprint.Module) string
ShouldConvertWithBp2build(ctx BazelConversionContext) bool
shouldConvertWithBp2build(ctx bazelOtherModuleContext, module blueprint.Module) bool
- GetBazelBuildFileContents(c Config, path, name string) (string, error)
ConvertWithBp2build(ctx TopDownMutatorContext)
// namespacedVariableProps is a map from a soong config variable namespace
@@ -498,28 +494,6 @@
return false, packagePath
}
-// GetBazelBuildFileContents returns the file contents of a hand-crafted BUILD file if available or
-// an error if there are errors reading the file.
-// TODO(b/181575318): currently we append the whole BUILD file, let's change that to do
-// something more targeted based on the rule type and target.
-func (b *BazelModuleBase) GetBazelBuildFileContents(c Config, path, name string) (string, error) {
- if !strings.Contains(b.HandcraftedLabel(), path) {
- return "", fmt.Errorf("%q not found in bazel_module.label %q", path, b.HandcraftedLabel())
- }
- name = filepath.Join(path, name)
- f, err := c.fs.Open(name)
- if err != nil {
- return "", err
- }
- defer f.Close()
-
- data, err := ioutil.ReadAll(f)
- if err != nil {
- return "", err
- }
- return string(data[:]), nil
-}
-
func registerBp2buildConversionMutator(ctx RegisterMutatorsContext) {
ctx.TopDown("bp2build_conversion", convertWithBp2build).Parallel()
}
diff --git a/bp2build/build_conversion.go b/bp2build/build_conversion.go
index 8de6d18..cf46533 100644
--- a/bp2build/build_conversion.go
+++ b/bp2build/build_conversion.go
@@ -43,7 +43,6 @@
content string
ruleClass string
bzlLoadLocation string
- handcrafted bool
}
// IsLoadedFromStarlark determines if the BazelTarget's rule class is loaded from a .bzl file,
@@ -65,25 +64,9 @@
// BazelTargets is a typedef for a slice of BazelTarget objects.
type BazelTargets []BazelTarget
-// HasHandcraftedTargetsreturns true if a set of bazel targets contain
-// handcrafted ones.
-func (targets BazelTargets) hasHandcraftedTargets() bool {
- for _, target := range targets {
- if target.handcrafted {
- return true
- }
- }
- return false
-}
-
-// sort a list of BazelTargets in-place, by name, and by generated/handcrafted types.
+// sort a list of BazelTargets in-place by name
func (targets BazelTargets) sort() {
sort.Slice(targets, func(i, j int) bool {
- if targets[i].handcrafted != targets[j].handcrafted {
- // Handcrafted targets will be generated after the bp2build generated targets.
- return targets[j].handcrafted
- }
- // This will cover all bp2build generated targets.
return targets[i].name < targets[j].name
})
}
@@ -94,18 +77,6 @@
func (targets BazelTargets) String() string {
var res string
for i, target := range targets {
- // There is only at most 1 handcrafted "target", because its contents
- // represent the entire BUILD file content from the tree. See
- // build_conversion.go#getHandcraftedBuildContent for more information.
- //
- // Add a header to make it easy to debug where the handcrafted targets
- // are in a generated BUILD file.
- if target.handcrafted {
- res += "# -----------------------------\n"
- res += "# Section: Handcrafted targets. \n"
- res += "# -----------------------------\n\n"
- }
-
res += target.content
if i != len(targets)-1 {
res += "\n\n"
@@ -256,7 +227,6 @@
func GenerateBazelTargets(ctx *CodegenContext, generateFilegroups bool) (conversionResults, []error) {
buildFileToTargets := make(map[string]BazelTargets)
- buildFileToAppend := make(map[string]bool)
// Simple metrics tracking for bp2build
metrics := CodegenMetrics{
@@ -288,30 +258,10 @@
// Handle modules converted to handcrafted targets.
//
// Since these modules are associated with some handcrafted
- // target in a BUILD file, we simply append the entire contents
- // of that BUILD file to the generated BUILD file.
- //
- // The append operation is only done once, even if there are
- // multiple modules from the same directory associated to
- // targets in the same BUILD file (or package).
+ // target in a BUILD file, we don't autoconvert them.
// Log the module.
metrics.AddConvertedModule(m, moduleType, Handcrafted)
-
- pathToBuildFile := getBazelPackagePath(b)
- if _, exists := buildFileToAppend[pathToBuildFile]; exists {
- // Append the BUILD file content once per package, at most.
- return
- }
- t, err := getHandcraftedBuildContent(ctx, b, pathToBuildFile)
- if err != nil {
- errs = append(errs, fmt.Errorf("Error converting %s: %s", bpCtx.ModuleName(m), err))
- return
- }
- targets = append(targets, t)
- // TODO(b/181575318): currently we append the whole BUILD file, let's change that to do
- // something more targeted based on the rule type and target
- buildFileToAppend[pathToBuildFile] = true
} else if aModule, ok := m.(android.Module); ok && aModule.IsConvertedByBp2build() {
// Handle modules converted to generated targets.
@@ -397,29 +347,6 @@
}, errs
}
-func getBazelPackagePath(b android.Bazelable) string {
- label := b.HandcraftedLabel()
- pathToBuildFile := strings.TrimPrefix(label, "//")
- pathToBuildFile = strings.Split(pathToBuildFile, ":")[0]
- return pathToBuildFile
-}
-
-func getHandcraftedBuildContent(ctx *CodegenContext, b android.Bazelable, pathToBuildFile string) (BazelTarget, error) {
- p := android.ExistentPathForSource(ctx, pathToBuildFile, HandcraftedBuildFileName)
- if !p.Valid() {
- return BazelTarget{}, fmt.Errorf("Could not find file %q for handcrafted target.", pathToBuildFile)
- }
- c, err := b.GetBazelBuildFileContents(ctx.Config(), pathToBuildFile, HandcraftedBuildFileName)
- if err != nil {
- return BazelTarget{}, err
- }
- // TODO(b/181575318): once this is more targeted, we need to include name, rule class, etc
- return BazelTarget{
- content: c,
- handcrafted: true,
- }, nil
-}
-
func generateBazelTargets(ctx bpToBuildContext, m android.Module) []BazelTarget {
var targets []BazelTarget
for _, m := range m.Bp2buildTargets() {
@@ -462,7 +389,6 @@
targetName,
attributes,
),
- handcrafted: false,
}
}
diff --git a/bp2build/build_conversion_test.go b/bp2build/build_conversion_test.go
index 1ac7518..0467cf0 100644
--- a/bp2build/build_conversion_test.go
+++ b/bp2build/build_conversion_test.go
@@ -1299,9 +1299,7 @@
name: "fg_foo",
bazel_module: { label: "//other:fg_foo" },
}`,
- ExpectedBazelTargets: []string{
- `// BUILD file`,
- },
+ ExpectedBazelTargets: []string{},
Filesystem: map[string]string{
"other/BUILD.bazel": `// BUILD file`,
},
@@ -1319,9 +1317,7 @@
name: "foo",
bazel_module: { label: "//other:foo" },
}`,
- ExpectedBazelTargets: []string{
- `// BUILD file`,
- },
+ ExpectedBazelTargets: []string{},
Filesystem: map[string]string{
"other/BUILD.bazel": `// BUILD file`,
},
@@ -1349,7 +1345,6 @@
},
ExpectedBazelTargets: []string{
MakeBazelTargetNoRestrictions("filegroup", "fg_foo", map[string]string{}),
- `// definition for fg_bar`,
},
},
{
@@ -1375,7 +1370,6 @@
}`,
ExpectedBazelTargets: []string{
MakeBazelTargetNoRestrictions("filegroup", "fg_bar", map[string]string{}),
- `// BUILD file`,
},
},
}
@@ -1420,9 +1414,6 @@
if actualCount != expectedCount {
t.Errorf("Expected %d bazel target, got %d\n%s", expectedCount, actualCount, bazelTargets)
}
- if !strings.Contains(bazelTargets.String(), "Section: Handcrafted targets. ") {
- t.Errorf("Expected string representation of bazelTargets to contain handcrafted section header.")
- }
for i, target := range bazelTargets {
actualContent := target.content
expectedContent := testCase.ExpectedBazelTargets[i]
diff --git a/bp2build/conversion.go b/bp2build/conversion.go
index d98b6a3..6fb2823 100644
--- a/bp2build/conversion.go
+++ b/bp2build/conversion.go
@@ -96,17 +96,9 @@
# This file was automatically generated by bp2build for the Bazel migration project.
# Feel free to edit or test it, but do *not* check it into your version control system.
`
- if targets.hasHandcraftedTargets() {
- // For BUILD files with both handcrafted and generated targets,
- // don't hardcode actual content, like package() declarations.
- // Leave that responsibility to the checked-in BUILD file
- // instead.
- content += `# This file contains generated targets and handcrafted targets that are manually managed in the source tree.`
- } else {
- // For fully-generated BUILD files, hardcode the default visibility.
- content += "package(default_visibility = [\"//visibility:public\"])"
- }
- content += "\n"
+
+ // Hardcode the default visibility.
+ content += "package(default_visibility = [\"//visibility:public\"])\n"
content += targets.LoadStatements()
} else if mode == QueryView {
content = soongModuleLoad