Merge "Improve missing apex_available message"
This commit is contained in:
@@ -1976,7 +1976,7 @@ func (c *flattenedApexContext) InstallBypassMake() bool {
|
||||
// Visit dependencies that contributes to the payload of this APEX
|
||||
func (a *apexBundle) walkPayloadDeps(ctx android.ModuleContext,
|
||||
do func(ctx android.ModuleContext, from blueprint.Module, to android.ApexModule, externalDep bool)) {
|
||||
ctx.WalkDepsBlueprint(func(child, parent blueprint.Module) bool {
|
||||
ctx.WalkDeps(func(child, parent android.Module) bool {
|
||||
am, ok := child.(android.ApexModule)
|
||||
if !ok || !am.CanHaveApexVariants() {
|
||||
return false
|
||||
@@ -2037,7 +2037,11 @@ func (a *apexBundle) checkApexAvailability(ctx android.ModuleContext) {
|
||||
if externalDep || to.AvailableFor(apexName) || whitelistedApexAvailable(apexName, toName) {
|
||||
return
|
||||
}
|
||||
ctx.ModuleErrorf("%q requires %q that is not available for the APEX.", fromName, toName)
|
||||
message := ""
|
||||
for _, m := range ctx.GetWalkPath()[1:] {
|
||||
message = fmt.Sprintf("%s\n -> %s", message, m.String())
|
||||
}
|
||||
ctx.ModuleErrorf("%q requires %q that is not available for the APEX. Dependency path:%s", fromName, toName, message)
|
||||
})
|
||||
}
|
||||
|
||||
|
@@ -3538,7 +3538,13 @@ func TestApexAvailable_DirectDep(t *testing.T) {
|
||||
|
||||
func TestApexAvailable_IndirectDep(t *testing.T) {
|
||||
// libbbaz is an indirect dep
|
||||
testApexError(t, "requires \"libbaz\" that is not available for the APEX", `
|
||||
testApexError(t, `requires "libbaz" that is not available for the APEX. Dependency path:
|
||||
.*-> libfoo.*link:shared.*
|
||||
.*-> libfoo.*link:static.*
|
||||
.*-> libbar.*link:shared.*
|
||||
.*-> libbar.*link:static.*
|
||||
.*-> libbaz.*link:shared.*
|
||||
.*-> libbaz.*link:static.*`, `
|
||||
apex {
|
||||
name: "myapex",
|
||||
key: "myapex.key",
|
||||
|
Reference in New Issue
Block a user