summaryrefslogtreecommitdiff
path: root/rust/rust.go
diff options
context:
space:
mode:
author Zi Wang <mrziwang@google.com> 2024-06-24 22:13:42 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2024-06-24 22:13:42 +0000
commitb651aaaf9e48061558b9a938fe8ca5ecf9d9a296 (patch)
tree7db218a7e0a229d149c7ca6092f8341a3bdf5118 /rust/rust.go
parent79035fa8426611d1fea05f13bb9dcf552d57a8c3 (diff)
parent0cbd3b0e79a438d9ee35c82e52e18acfaeddab3e (diff)
Merge "Add OutputFilesProvider support for singleton" into main
Diffstat (limited to 'rust/rust.go')
-rw-r--r--rust/rust.go39
1 files changed, 15 insertions, 24 deletions
diff --git a/rust/rust.go b/rust/rust.go
index 8a053c184..8dc52f070 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -208,27 +208,6 @@ func (mod *Module) IsPrebuilt() bool {
return false
}
-func (mod *Module) OutputFiles(tag string) (android.Paths, error) {
- switch tag {
- case "":
- if mod.sourceProvider != nil && (mod.compiler == nil || mod.compiler.Disabled()) {
- return mod.sourceProvider.Srcs(), nil
- } else {
- if mod.OutputFile().Valid() {
- return android.Paths{mod.OutputFile().Path()}, nil
- }
- return android.Paths{}, nil
- }
- case "unstripped":
- if mod.compiler != nil {
- return android.PathsIfNonNil(mod.compiler.unstrippedOutputFilePath()), nil
- }
- return nil, nil
- default:
- return nil, fmt.Errorf("unsupported module reference tag %q", tag)
- }
-}
-
func (mod *Module) SelectedStl() string {
return ""
}
@@ -988,6 +967,20 @@ func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) {
if mod.testModule {
android.SetProvider(ctx, testing.TestModuleProviderKey, testing.TestModuleProviderData{})
}
+ mod.setOutputFiles(ctx)
+}
+
+func (mod *Module) setOutputFiles(ctx ModuleContext) {
+ if mod.sourceProvider != nil && (mod.compiler == nil || mod.compiler.Disabled()) {
+ ctx.SetOutputFiles(mod.sourceProvider.Srcs(), "")
+ } else if mod.OutputFile().Valid() {
+ ctx.SetOutputFiles(android.Paths{mod.OutputFile().Path()}, "")
+ } else {
+ ctx.SetOutputFiles(android.Paths{}, "")
+ }
+ if mod.compiler != nil {
+ ctx.SetOutputFiles(android.PathsIfNonNil(mod.compiler.unstrippedOutputFilePath()), "unstripped")
+ }
}
func (mod *Module) deps(ctx DepsContext) Deps {
@@ -1471,7 +1464,7 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
var srcProviderDepFiles android.Paths
for _, dep := range directSrcProvidersDeps {
- srcs, _ := dep.OutputFiles("")
+ srcs := android.OutputFilesForModule(ctx, dep, "")
srcProviderDepFiles = append(srcProviderDepFiles, srcs...)
}
for _, dep := range directSrcDeps {
@@ -1858,5 +1851,3 @@ var Bool = proptools.Bool
var BoolDefault = proptools.BoolDefault
var String = proptools.String
var StringPtr = proptools.StringPtr
-
-var _ android.OutputFileProducer = (*Module)(nil)