Fail when a module depends on a disabled module
am: 1e45cb77a0
Change-Id: I454b353606584838764ebc4d83d6568286b65bcc
diff --git a/java/java.go b/java/java.go
index 8941b4d..c12ada2 100644
--- a/java/java.go
+++ b/java/java.go
@@ -410,6 +410,21 @@
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 {