From 1e45cb77a0fdd774e672a84d8fc3c90eb4f56da3 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Mon, 23 Oct 2017 16:43:47 -0700 Subject: [PATCH] Fail when a module depends on a disabled module Copy the logic from cc.go to fail when a module depends on a disabled module. A future change will refactor this to remove the duplication and cover all other module types. Test: m TARGET_BUILD_PDK=true doesn't panic Bug: 67663308 Change-Id: Iab2b142cebdbd74df934e4733f0de83bd3334d86 --- java/java.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/java/java.go b/java/java.go index 8941b4d7f..c12ada277 100644 --- a/java/java.go +++ b/java/java.go @@ -410,6 +410,21 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps { otherName := ctx.OtherModuleName(module) tag := ctx.OtherModuleDependencyTag(module) + aDep, _ := module.(android.Module) + if aDep == nil { + ctx.ModuleErrorf("module %q not an android module", ctx.OtherModuleName(aDep)) + return + } + + if !aDep.Enabled() { + if ctx.AConfig().AllowMissingDependencies() { + ctx.AddMissingDependencies([]string{ctx.OtherModuleName(aDep)}) + } else { + ctx.ModuleErrorf("depends on disabled module %q", ctx.OtherModuleName(aDep)) + } + return + } + dep, _ := module.(Dependency) if dep == nil { switch tag {