diff options
Diffstat (limited to 'rust/source_provider.go')
-rw-r--r-- | rust/source_provider.go | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/rust/source_provider.go b/rust/source_provider.go index da6147a15..8bb784951 100644 --- a/rust/source_provider.go +++ b/rust/source_provider.go @@ -19,8 +19,13 @@ import ( ) type SourceProviderProperties struct { - // sets name of the output - Stem *string `android:"arch_variant"` + // name for the generated source file. Defaults to module name (e.g. moduleNameFoo.rs is produced by default). + // Importantly, the inherited "stem" property for this module sets the output filename for the generated library + // variants only + Source_stem *string `android:"arch_variant"` + + // crate name, used for the library variant of this source provider. See additional details in rust_library. + Crate_name string `android:"arch_variant"` } type baseSourceProvider struct { @@ -28,6 +33,7 @@ type baseSourceProvider struct { outputFile android.Path subAndroidMkOnce map[subAndroidMkProvider]bool + subName string } var _ SourceProvider = (*baseSourceProvider)(nil) @@ -37,6 +43,7 @@ type SourceProvider interface { Srcs() android.Paths sourceProviderProps() []interface{} sourceProviderDeps(ctx DepsContext, deps Deps) Deps + setSubName(subName string) } func (sp *baseSourceProvider) Srcs() android.Paths { @@ -59,8 +66,8 @@ func NewSourceProvider() *baseSourceProvider { func (sp *baseSourceProvider) getStem(ctx android.ModuleContext) string { stem := ctx.ModuleName() - if String(sp.Properties.Stem) != "" { - stem = String(sp.Properties.Stem) + if String(sp.Properties.Source_stem) != "" { + stem = String(sp.Properties.Source_stem) } return stem } @@ -68,3 +75,7 @@ func (sp *baseSourceProvider) getStem(ctx android.ModuleContext) string { func (sp *baseSourceProvider) sourceProviderDeps(ctx DepsContext, deps Deps) Deps { return deps } + +func (sp *baseSourceProvider) setSubName(subName string) { + sp.subName = subName +} |