From 727204cbdf8295b93084db6b05d3f2beb4a661f6 Mon Sep 17 00:00:00 2001 From: Yu Liu Date: Thu, 23 Jan 2025 20:58:32 +0000 Subject: Convert rust to use ModuleProxy. Bug: 377723687 Test: Unit tests and compare the ninja and mk files generated. Change-Id: I2eb0134bb727f5875d579dae1fff5b70658bd2bb --- rust/rust.go | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'rust/rust.go') diff --git a/rust/rust.go b/rust/rust.go index 64288595f..35253d6b6 100644 --- a/rust/rust.go +++ b/rust/rust.go @@ -49,6 +49,7 @@ type CompilerInfo struct { type ProtobufDecoratorInfo struct{} type SourceProviderInfo struct { + Srcs android.Paths ProtobufDecoratorInfo *ProtobufDecoratorInfo } @@ -1065,9 +1066,9 @@ func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) { mod.sourceProvider.GenerateSource(ctx, deps) mod.sourceProvider.setSubName(ctx.ModuleSubDir()) } else { - sourceMod := actx.GetDirectDepWithTag(mod.Name(), sourceDepTag) - sourceLib := sourceMod.(*Module).compiler.(*libraryDecorator) - mod.sourceProvider.setOutputFiles(sourceLib.sourceProvider.Srcs()) + sourceMod := actx.GetDirectDepProxyWithTag(mod.Name(), sourceDepTag) + sourceLib := android.OtherModuleProviderOrDefault(ctx, sourceMod, RustInfoProvider).SourceProviderInfo + mod.sourceProvider.setOutputFiles(sourceLib.Srcs) } ctx.CheckbuildFile(mod.sourceProvider.Srcs()...) } @@ -1155,10 +1156,11 @@ func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) { } } if mod.sourceProvider != nil { + rustInfo.SourceProviderInfo = &SourceProviderInfo{ + Srcs: mod.sourceProvider.Srcs(), + } if _, ok := mod.sourceProvider.(*protobufDecorator); ok { - rustInfo.SourceProviderInfo = &SourceProviderInfo{ - ProtobufDecoratorInfo: &ProtobufDecoratorInfo{}, - } + rustInfo.SourceProviderInfo.ProtobufDecoratorInfo = &ProtobufDecoratorInfo{} } } android.SetProvider(ctx, RustInfoProvider, rustInfo) @@ -1203,12 +1205,12 @@ func buildComplianceMetadataInfo(ctx *moduleContext, mod *Module, deps PathDeps) metadataInfo.SetStringValue(android.ComplianceMetadataProp.BUILT_FILES, mod.outputFile.String()) // Static libs - staticDeps := ctx.GetDirectDepsWithTag(rlibDepTag) + staticDeps := ctx.GetDirectDepsProxyWithTag(rlibDepTag) staticDepNames := make([]string, 0, len(staticDeps)) for _, dep := range staticDeps { staticDepNames = append(staticDepNames, dep.Name()) } - ccStaticDeps := ctx.GetDirectDepsWithTag(cc.StaticDepTag(false)) + ccStaticDeps := ctx.GetDirectDepsProxyWithTag(cc.StaticDepTag(false)) for _, dep := range ccStaticDeps { staticDepNames = append(staticDepNames, dep.Name()) } @@ -1226,7 +1228,7 @@ func buildComplianceMetadataInfo(ctx *moduleContext, mod *Module, deps PathDeps) metadataInfo.SetListValue(android.ComplianceMetadataProp.STATIC_DEP_FILES, android.FirstUniqueStrings(staticDepPaths)) // C Whole static libs - ccWholeStaticDeps := ctx.GetDirectDepsWithTag(cc.StaticDepTag(true)) + ccWholeStaticDeps := ctx.GetDirectDepsProxyWithTag(cc.StaticDepTag(true)) wholeStaticDepNames := make([]string, 0, len(ccWholeStaticDeps)) for _, dep := range ccStaticDeps { wholeStaticDepNames = append(wholeStaticDepNames, dep.Name()) -- cgit v1.2.3-59-g8ed1b