Convert stubLibraries, soongMetricsSingleton, sdkSingleton,
complianceMetadataSingleton, freezeApiSingleton and testSuiteFiles to
use ModuleProxy.
Bug: 377723687
Test: Unit tests and compare the ninja and mk files generated.
Change-Id: I91789633ff0d4e0ab170717caf0a6b4f63c38593
diff --git a/cc/stub_library.go b/cc/stub_library.go
index 9d7b5bc..21ef139 100644
--- a/cc/stub_library.go
+++ b/cc/stub_library.go
@@ -43,9 +43,9 @@
}
// Get target file name to be installed from this module
-func getInstalledFileName(ctx android.SingletonContext, m LinkableInterface) string {
+func getInstalledFileName(ctx android.SingletonContext, m android.ModuleProxy) string {
for _, ps := range android.OtherModuleProviderOrDefault(
- ctx, m.Module(), android.InstallFilesProvider).PackagingSpecs {
+ ctx, m, android.InstallFilesProvider).PackagingSpecs {
if name := ps.FileName(); name != "" {
return name
}
@@ -57,18 +57,18 @@
// Visit all generated soong modules and store stub library file names.
stubLibraryMap := make(map[string]bool)
vendorStubLibraryMap := make(map[string]bool)
- ctx.VisitAllModules(func(module android.Module) {
- if m, ok := module.(VersionedLinkableInterface); ok {
- if IsStubTarget(android.OtherModuleProviderOrDefault(ctx, m, LinkableInfoProvider)) {
- if name := getInstalledFileName(ctx, m); name != "" {
+ ctx.VisitAllModuleProxies(func(module android.ModuleProxy) {
+ if linkableInfo, ok := android.OtherModuleProvider(ctx, module, LinkableInfoProvider); ok {
+ if IsStubTarget(linkableInfo) {
+ if name := getInstalledFileName(ctx, module); name != "" {
stubLibraryMap[name] = true
- if m.InVendor() {
+ if linkableInfo.InVendor {
vendorStubLibraryMap[name] = true
}
}
}
- if m.CcLibraryInterface() && android.IsModulePreferred(m) {
- if p := m.VersionedInterface().GetAPIListCoverageXMLPath().String(); p != "" {
+ if linkableInfo.CcLibraryInterface && android.IsModulePreferredProxy(ctx, module) {
+ if p := linkableInfo.APIListCoverageXMLPath.String(); p != "" {
s.apiListCoverageXmlPaths = append(s.apiListCoverageXmlPaths, p)
}
}