Stop relying on target.kind in mixed builds.
target.kind was a field that existed for only a few months, and have been removed from Bazel. This is needed to update to a newer Bazel version. Also, this reverts filegroups to be queried for a specific arch again, but leaving file targets in the common arch (which is correct, anyway). Fixes: b/199363072 Test: mixed_libc Test: presubmits Change-Id: I3b8e5c43a39516d977d327a44a75750b2f251be3
This commit is contained in:
@@ -112,15 +112,22 @@ func FileGroupFactory() Module {
|
||||
return module
|
||||
}
|
||||
|
||||
func (fg *fileGroup) GenerateBazelBuildActions(ctx ModuleContext) bool {
|
||||
func (fg *fileGroup) maybeGenerateBazelBuildActions(ctx ModuleContext) {
|
||||
if !fg.MixedBuildsEnabled(ctx) {
|
||||
return false
|
||||
return
|
||||
}
|
||||
|
||||
archVariant := ctx.Arch().ArchType
|
||||
if len(fg.Srcs()) == 1 && fg.Srcs()[0].Base() == fg.Name() {
|
||||
// This will be a regular file target, not filegroup, in Bazel.
|
||||
// See FilegroupBp2Build for more information.
|
||||
archVariant = Common
|
||||
}
|
||||
|
||||
bazelCtx := ctx.Config().BazelContext
|
||||
filePaths, ok := bazelCtx.GetOutputFiles(fg.GetBazelLabel(ctx, fg), Common)
|
||||
filePaths, ok := bazelCtx.GetOutputFiles(fg.GetBazelLabel(ctx, fg), archVariant)
|
||||
if !ok {
|
||||
return false
|
||||
return
|
||||
}
|
||||
|
||||
bazelOuts := make(Paths, 0, len(filePaths))
|
||||
@@ -130,19 +137,15 @@ func (fg *fileGroup) GenerateBazelBuildActions(ctx ModuleContext) bool {
|
||||
}
|
||||
|
||||
fg.srcs = bazelOuts
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func (fg *fileGroup) GenerateAndroidBuildActions(ctx ModuleContext) {
|
||||
if fg.GenerateBazelBuildActions(ctx) {
|
||||
return
|
||||
}
|
||||
|
||||
fg.srcs = PathsForModuleSrcExcludes(ctx, fg.properties.Srcs, fg.properties.Exclude_srcs)
|
||||
if fg.properties.Path != nil {
|
||||
fg.srcs = PathsWithModuleSrcSubDir(ctx, fg.srcs, String(fg.properties.Path))
|
||||
}
|
||||
|
||||
fg.maybeGenerateBazelBuildActions(ctx)
|
||||
}
|
||||
|
||||
func (fg *fileGroup) Srcs() Paths {
|
||||
|
Reference in New Issue
Block a user