Convert checkApexAvailability to use ModuleProxy.
Bug: 377723687
Test: Unit tests and compare the ninja and mk files generated.
Change-Id: I7582db8e22e94d0a9db7715a76bb6ed34c166a4e
diff --git a/android/apex.go b/android/apex.go
index f625baf..78511f9 100644
--- a/android/apex.go
+++ b/android/apex.go
@@ -77,6 +77,9 @@
// Returns the value of `apex_available_name`
ApexAvailableName string
+
+ // Returns the apex names that this module is available for
+ ApexAvailableFor []string
}
// AllApexInfo holds the ApexInfo of all apexes that include this module.
@@ -213,6 +216,12 @@
// apex_available property of the module.
AvailableFor(what string) bool
+ // Returns the apexes that are available for this module, valid values include
+ // "//apex_available:platform", "//apex_available:anyapex" and specific apexes.
+ // There are some differences between this one and the ApexAvailable on
+ // ApexModuleBase for cc, java library and sdkLibraryXml.
+ ApexAvailableFor() []string
+
// AlwaysRequiresPlatformApexVariant allows the implementing module to determine whether an
// APEX mutator should always be created for it.
//
@@ -320,6 +329,10 @@
return CopyOf(availableToPlatformList)
}
+func (m *ApexModuleBase) ApexAvailableFor() []string {
+ return m.ApexAvailable()
+}
+
// Implements ApexModule
func (m *ApexModuleBase) BuildForApex(apex ApexInfo) {
m.apexInfosLock.Lock()
@@ -420,7 +433,7 @@
// Implements ApexModule
func (m *ApexModuleBase) AvailableFor(what string) bool {
- return CheckAvailableForApex(what, m.ApexProperties.Apex_available)
+ return CheckAvailableForApex(what, m.ApexAvailableFor())
}
// Implements ApexModule
@@ -614,6 +627,7 @@
} else {
panic(fmt.Errorf("failed to find apexInfo for incoming variation %q", variation))
}
+ thisApexInfo.ApexAvailableFor = module.ApexAvailableFor()
SetProvider(ctx, ApexInfoProvider, thisApexInfo)
}
diff --git a/android/module_proxy.go b/android/module_proxy.go
index 30459b9..8cc8fa1 100644
--- a/android/module_proxy.go
+++ b/android/module_proxy.go
@@ -189,7 +189,7 @@
}
func (m ModuleProxy) String() string {
- return m.module.Name()
+ return m.module.String()
}
func (m ModuleProxy) qualifiedModuleId(ctx BaseModuleContext) qualifiedModuleName {