Add rust-project.json generator

Because we are not relying on Cargo.toml for our crate dependencies,
we need to provide a structured file to rust-analyzer which describes
the locations of the crates. Add a generator for that purpose, similarly
to cc/compdb and cc/ccdeps.

Bug: 156395307
Test: SOONG_GEN_RUST_PROJECT=1 m nothing && \
      cat ${ANDROID_BUILD_TOP}/out/soong/rust-project.json
Change-Id: I46efe0adeddae281eaf86707504c3aa15b5e80b8
This commit is contained in:
Thiébaud Weksteen
2020-06-05 11:09:27 +02:00
parent 4a19d08d39
commit e4d12a0468
4 changed files with 219 additions and 0 deletions

View File

@@ -100,6 +100,7 @@ func CreateTestContext() *android.TestContext {
ctx.BottomUp("rust_unit_tests", TestPerSrcMutator).Parallel()
ctx.BottomUp("rust_begin", BeginMutator).Parallel()
})
ctx.RegisterSingletonType("rust_project_generator", rustProjectGeneratorSingleton)
return ctx
}