summaryrefslogtreecommitdiff
path: root/rust/rust.go
diff options
context:
space:
mode:
author Yu Liu <yudiliu@google.com> 2025-02-21 20:46:25 +0000
committer Yu Liu <yudiliu@google.com> 2025-02-25 19:05:07 +0000
commit2a815b6d8ea8f29b54f780b1219c28b0c8c977aa (patch)
tree3637bda1bc41a893d7d0a502798d47c74434cb70 /rust/rust.go
parenta88b86ff5d86306ec15bc1de7892d17b4154210e (diff)
Convert the following singletons to use ModuleProxy:
buildTargetSingleton exportedJavaDeclarationsLibrarySingleton javaFuzzPackager kytheExtractAllSingleton kytheExtractJavaSingleton kytheExtractRustSingleton lintSingleton logtagsSingleton makeVarsSingleton ndkAbiDiffSingleton ndkAbiDumpSingleton phonySingleton platformCompatConfigSingleton sdkSingleton Bug: 377723687 Test: Unit tests and compare the ninja and mk files generated. Change-Id: I625ac8a209ca93755b2ba232202cfb44ecefde0a
Diffstat (limited to 'rust/rust.go')
-rw-r--r--rust/rust.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/rust/rust.go b/rust/rust.go
index 4eebda301..d8a044423 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -60,6 +60,7 @@ type RustInfo struct {
CompilerInfo *CompilerInfo
SnapshotInfo *cc.SnapshotInfo
SourceProviderInfo *SourceProviderInfo
+ XrefRustFiles android.Paths
}
var RustInfoProvider = blueprint.NewProvider[*RustInfo]()
@@ -1171,6 +1172,7 @@ func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) {
AndroidMkSuffix: mod.AndroidMkSuffix(),
RustSubName: mod.Properties.RustSubName,
TransitiveAndroidMkSharedLibs: mod.transitiveAndroidMkSharedLibs,
+ XrefRustFiles: mod.XrefRustFiles(),
}
if mod.compiler != nil {
rustInfo.CompilerInfo = &CompilerInfo{
@@ -2236,9 +2238,9 @@ type kytheExtractRustSingleton struct {
func (k kytheExtractRustSingleton) GenerateBuildActions(ctx android.SingletonContext) {
var xrefTargets android.Paths
- ctx.VisitAllModules(func(module android.Module) {
- if rustModule, ok := module.(xref); ok {
- xrefTargets = append(xrefTargets, rustModule.XrefRustFiles()...)
+ ctx.VisitAllModuleProxies(func(module android.ModuleProxy) {
+ if rustModule, ok := android.OtherModuleProvider(ctx, module, RustInfoProvider); ok {
+ xrefTargets = append(xrefTargets, rustModule.XrefRustFiles...)
}
})
if len(xrefTargets) > 0 {