Merge "Always drop deps from android_library with no srcs" into main am: 2201343fce
am: 50225c86b6
am: 965367f3e0
am: 489210e8c4
am: 4230ef999f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2765453 Change-Id: I852f8ebfdd9974e8ab21c47e85b2a107876bdba3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
e2929e42a4
2 changed files with 19 additions and 6 deletions
|
@ -86,7 +86,7 @@ android_library {
|
|||
func TestConvertAndroidLibraryWithNoSources(t *testing.T) {
|
||||
t.Helper()
|
||||
RunBp2BuildTestCase(t, func(ctx android.RegistrationContext) {}, Bp2buildTestCase{
|
||||
Description: "Android Library - modules with deps must have sources",
|
||||
Description: "Android Library - modules will deps when there are no sources",
|
||||
ModuleTypeUnderTest: "android_library",
|
||||
ModuleTypeUnderTestFactory: java.AndroidLibraryFactory,
|
||||
Filesystem: map[string]string{
|
||||
|
@ -102,7 +102,18 @@ android_library {
|
|||
sdk_version: "current",
|
||||
}
|
||||
`,
|
||||
ExpectedBazelTargets: []string{},
|
||||
ExpectedBazelTargets: []string{
|
||||
MakeBazelTarget(
|
||||
"android_library",
|
||||
"TestLib",
|
||||
AttrNameToString{
|
||||
"manifest": `"AndroidManifest.xml"`,
|
||||
"resource_files": `["res/res.png"]`,
|
||||
"sdk_version": `"current"`, // use as default
|
||||
},
|
||||
),
|
||||
MakeNeverlinkDuplicateTarget("android_library", "TestLib"),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
|
|
10
java/aar.go
10
java/aar.go
|
@ -1358,10 +1358,12 @@ func (a *AndroidLibrary) ConvertWithBp2build(ctx android.Bp2buildMutatorContext)
|
|||
if !commonAttrs.Srcs.IsEmpty() {
|
||||
deps.Append(depLabels.StaticDeps) // we should only append these if there are sources to use them
|
||||
} else if !depLabels.Deps.IsEmpty() {
|
||||
ctx.MarkBp2buildUnconvertible(
|
||||
bp2build_metrics_proto.UnconvertedReasonType_UNSUPPORTED,
|
||||
"Module has direct dependencies but no sources. Bazel will not allow this.")
|
||||
return
|
||||
// android_library does not accept deps when there are no srcs because
|
||||
// there is no compilation happening, but it accepts exports.
|
||||
// The non-empty deps here are unnecessary as deps on the android_library
|
||||
// since they aren't being propagated to any dependencies.
|
||||
// So we can drop deps here.
|
||||
deps = bazel.LabelListAttribute{}
|
||||
}
|
||||
name := a.Name()
|
||||
props := AndroidLibraryBazelTargetModuleProperties()
|
||||
|
|
Loading…
Reference in a new issue