summaryrefslogtreecommitdiff
path: root/android/module.go
diff options
context:
space:
mode:
Diffstat (limited to 'android/module.go')
-rw-r--r--android/module.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/android/module.go b/android/module.go
index 11f63bd49..4dd580083 100644
--- a/android/module.go
+++ b/android/module.go
@@ -223,6 +223,8 @@ type BaseModuleContext interface {
// the first DependencyTag.
GetDirectDep(name string) (blueprint.Module, blueprint.DependencyTag)
+ ModuleFromName(name string) (blueprint.Module, bool)
+
// VisitDirectDepsBlueprint calls visit for each direct dependency. If there are multiple
// direct dependencies on the same module visit will be called multiple times on that module
// and OtherModuleDependencyTag will return a different tag for each.
@@ -2032,8 +2034,13 @@ type baseModuleContext struct {
tagPath []blueprint.DependencyTag
strictVisitDeps bool // If true, enforce that all dependencies are enabled
+
+ bazelConversionMode bool
}
+func (b *baseModuleContext) BazelConversionMode() bool {
+ return b.bazelConversionMode
+}
func (b *baseModuleContext) OtherModuleName(m blueprint.Module) string {
return b.bp.OtherModuleName(m)
}
@@ -2373,6 +2380,18 @@ func (b *baseModuleContext) GetDirectDep(name string) (blueprint.Module, bluepri
return b.getDirectDepFirstTag(name)
}
+func (b *baseModuleContext) ModuleFromName(name string) (blueprint.Module, bool) {
+ if !b.BazelConversionMode() {
+ panic("cannot call ModuleFromName if not in bazel conversion mode")
+ }
+ if len(name) > 1 && (name[0] == ':' || (name[0] == '/' && name[1] == '/')) {
+ moduleName, _ := SrcIsModuleWithTag(name)
+ return b.bp.ModuleFromName(moduleName)
+ } else {
+ return b.bp.ModuleFromName(name)
+ }
+}
+
func (b *baseModuleContext) VisitDirectDepsBlueprint(visit func(blueprint.Module)) {
b.bp.VisitDirectDeps(visit)
}