summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Matthew Maurer <mmaurer@google.com> 2023-11-20 21:02:40 +0000
committer Matthew Maurer <mmaurer@google.com> 2023-11-20 21:02:40 +0000
commitd221d315340476b27308e205311d458ac440e17b (patch)
treeb8edf0b8199dcb790d570afc256fe5bb7bae58f3
parentcd41653b96d2285b11b010198e453cf688b66cbe (diff)
rust: move crateRootPath to compiler
Test: m nothing Bug: 309943184 Change-Id: I45028945357c394301d93ca7995a4f9adf281931
-rw-r--r--rust/compiler.go11
-rw-r--r--rust/library.go11
2 files changed, 15 insertions, 7 deletions
diff --git a/rust/compiler.go b/rust/compiler.go
index 9666ce296..98bbcb645 100644
--- a/rust/compiler.go
+++ b/rust/compiler.go
@@ -70,6 +70,8 @@ type compiler interface {
unstrippedOutputFilePath() android.Path
strippedOutputFilePath() android.OptionalPath
+
+ crateRootPath(ctx ModuleContext) android.Path
}
func (compiler *baseCompiler) edition() string {
@@ -537,6 +539,15 @@ func (compiler *baseCompiler) relativeInstallPath() string {
return String(compiler.Properties.Relative_install_path)
}
+func (compiler *baseCompiler) crateRootPath(ctx ModuleContext) android.Path {
+ if compiler.Properties.Crate_root == nil {
+ path, _ := srcPathFromModuleSrcs(ctx, compiler.Properties.Srcs)
+ return path
+ } else {
+ return android.PathForModuleSrc(ctx, *compiler.Properties.Crate_root)
+ }
+}
+
// Returns the Path for the main source file along with Paths for generated source files from modules listed in srcs.
func srcPathFromModuleSrcs(ctx ModuleContext, srcs []string) (android.Path, android.Paths) {
if len(srcs) == 0 {
diff --git a/rust/library.go b/rust/library.go
index 18bf0a05b..613e9b76f 100644
--- a/rust/library.go
+++ b/rust/library.go
@@ -489,7 +489,7 @@ func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps Pa
var outputFile android.ModuleOutPath
var ret buildOutput
var fileName string
- crateRootPath := library.crateRootPath(ctx, deps)
+ crateRootPath := library.crateRootPath(ctx)
if library.sourceProvider != nil {
deps.srcProviderFiles = append(deps.srcProviderFiles, library.sourceProvider.Srcs()...)
@@ -584,15 +584,12 @@ func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps Pa
return ret
}
-func (library *libraryDecorator) crateRootPath(ctx ModuleContext, _ PathDeps) android.Path {
+func (library *libraryDecorator) crateRootPath(ctx ModuleContext) android.Path {
if library.sourceProvider != nil {
// Assume the first source from the source provider is the library entry point.
return library.sourceProvider.Srcs()[0]
- } else if library.baseCompiler.Properties.Crate_root == nil {
- path, _ := srcPathFromModuleSrcs(ctx, library.baseCompiler.Properties.Srcs)
- return path
} else {
- return android.PathForModuleSrc(ctx, *library.baseCompiler.Properties.Crate_root)
+ return library.baseCompiler.crateRootPath(ctx)
}
}
@@ -607,7 +604,7 @@ func (library *libraryDecorator) rustdoc(ctx ModuleContext, flags Flags,
return android.OptionalPath{}
}
- return android.OptionalPathForPath(Rustdoc(ctx, library.crateRootPath(ctx, deps),
+ return android.OptionalPathForPath(Rustdoc(ctx, library.crateRootPath(ctx),
deps, flags))
}