Revert "Revert "Add aidl.deps prop to include aidl implicit deps explicitly in Android.bp""
This reverts commit 8106bd0b00
.
Reason for revert: Fix CI breakage
Change-Id: I5f0e72988cbb6845628d0ec7e82292c0aa1914a7
This commit is contained in:
parent
8106bd0b00
commit
e3e7711ac6
2 changed files with 48 additions and 0 deletions
|
@ -81,6 +81,7 @@ type bazelFilegroupAttributes struct {
|
|||
type bazelAidlLibraryAttributes struct {
|
||||
Srcs bazel.LabelListAttribute
|
||||
Strip_import_prefix *string
|
||||
Deps bazel.LabelListAttribute
|
||||
}
|
||||
|
||||
// api srcs can be contained in filegroups.
|
||||
|
@ -119,9 +120,12 @@ func (fg *fileGroup) ConvertWithBp2build(ctx TopDownMutatorContext) {
|
|||
// and then convert
|
||||
if fg.ShouldConvertToAidlLibrary(ctx) {
|
||||
tags := []string{"apex_available=//apex_available:anyapex"}
|
||||
deps := bazel.MakeLabelListAttribute(BazelLabelForModuleDeps(ctx, fg.properties.Aidl.Deps))
|
||||
|
||||
attrs := &bazelAidlLibraryAttributes{
|
||||
Srcs: srcs,
|
||||
Strip_import_prefix: fg.properties.Path,
|
||||
Deps: deps,
|
||||
}
|
||||
|
||||
props := bazel.BazelTargetModuleProperties{
|
||||
|
@ -187,6 +191,14 @@ type fileGroupProperties struct {
|
|||
// Create a make variable with the specified name that contains the list of files in the
|
||||
// filegroup, relative to the root of the source tree.
|
||||
Export_to_make_var *string
|
||||
|
||||
// aidl is explicitly provided for implicit aidl dependencies
|
||||
// TODO(b/278298615): aidl prop is a no-op in Soong and is an escape hatch
|
||||
// to include implicit aidl dependencies for bazel migration compatibility
|
||||
Aidl struct {
|
||||
// List of aidl files or filegroup depended on by srcs
|
||||
Deps []string `android:"path"`
|
||||
}
|
||||
}
|
||||
|
||||
type fileGroup struct {
|
||||
|
|
|
@ -105,6 +105,42 @@ func TestFilegroupWithAidlSrcs(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestFilegroupWithAidlDeps(t *testing.T) {
|
||||
bp := `
|
||||
filegroup {
|
||||
name: "bar",
|
||||
srcs: ["bar.aidl"],
|
||||
}
|
||||
filegroup {
|
||||
name: "foo",
|
||||
srcs: ["aidl/foo.aidl"],
|
||||
path: "aidl",
|
||||
aidl: {
|
||||
deps: [":bar"],
|
||||
}
|
||||
}`
|
||||
|
||||
t.Run("filegroup with aidl deps", func(t *testing.T) {
|
||||
expectedBazelTargets := []string{
|
||||
MakeBazelTargetNoRestrictions("aidl_library", "bar", AttrNameToString{
|
||||
"srcs": `["bar.aidl"]`,
|
||||
"tags": `["apex_available=//apex_available:anyapex"]`,
|
||||
}),
|
||||
MakeBazelTargetNoRestrictions("aidl_library", "foo", AttrNameToString{
|
||||
"srcs": `["aidl/foo.aidl"]`,
|
||||
"strip_import_prefix": `"aidl"`,
|
||||
"deps": `[":bar"]`,
|
||||
"tags": `["apex_available=//apex_available:anyapex"]`,
|
||||
}),
|
||||
}
|
||||
runFilegroupTestCase(t, Bp2buildTestCase{
|
||||
Description: "filegroup with aidl deps",
|
||||
Blueprint: bp,
|
||||
ExpectedBazelTargets: expectedBazelTargets,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func TestFilegroupWithAidlAndNonAidlSrcs(t *testing.T) {
|
||||
runFilegroupTestCase(t, Bp2buildTestCase{
|
||||
Description: "filegroup with aidl and non-aidl srcs",
|
||||
|
|
Loading…
Reference in a new issue