diff options
author | 2023-11-21 00:20:02 +0000 | |
---|---|---|
committer | 2023-11-22 00:52:34 +0000 | |
commit | db72f7ed803df370951f7a03bd6f6fcad1b357e2 (patch) | |
tree | d0355e75a064bfcab5a07a10764a5f6159780844 /rust/compiler.go | |
parent | a28404a7b09d3fe7126f1a5863283888377885b0 (diff) |
rust: Resolve crate roots outside rust-project
Previously, we manually re-computed crate roots inside project_json for
rendering rust-project.json. In addition to added complexity, this meant
that generated sources and glob sources would not render correctly - it
would select e.g. `src/**.rs` or `:foo` as a crate root.
Use a centralized computation of crate roots instead.
Bug: 309943184
Test: SOONG_GEN_RUST_PROJECT=1 m nothing, compare rust-project.json
Change-Id: I0caddbf600d025a0041f45e69812cdd6f1761234
Diffstat (limited to 'rust/compiler.go')
-rw-r--r-- | rust/compiler.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/rust/compiler.go b/rust/compiler.go index e2415a4a7..9afaec587 100644 --- a/rust/compiler.go +++ b/rust/compiler.go @@ -44,6 +44,8 @@ type compiler interface { compile(ctx ModuleContext, flags Flags, deps PathDeps) buildOutput compilerDeps(ctx DepsContext, deps Deps) Deps crateName() string + edition() string + features() []string rustdoc(ctx ModuleContext, flags Flags, deps PathDeps) android.OptionalPath // Output directory in which source-generated code from dependencies is @@ -307,9 +309,13 @@ func (compiler *baseCompiler) cfgsToFlags() []string { return flags } +func (compiler *baseCompiler) features() []string { + return compiler.Properties.Features +} + func (compiler *baseCompiler) featuresToFlags() []string { flags := []string{} - for _, feature := range compiler.Properties.Features { + for _, feature := range compiler.features() { flags = append(flags, "--cfg 'feature=\""+feature+"\"'") } |