Avoid Rust source provider rule duplication

Until now, source provider modules duplicated the rule to generate the
source for each variant. Add a inter-variant dependency between the
source and the other variants (e.g. rlib, dylib) to avoid this
duplication. Add documentation on this behaviour.

Bug: 162588681
Test: m
Change-Id: I41c9e2220f8875245415e17374852e540dfd47ec
This commit is contained in:
Thiébaud Weksteen
2020-09-23 18:10:17 +02:00
parent 6a94390d2e
commit 295c72bebc
6 changed files with 103 additions and 46 deletions

View File

@@ -29,7 +29,7 @@ func TestRustProtobuf(t *testing.T) {
}
`)
// Check that there's a rule to generate the expected output
_ = ctx.ModuleForTests("librust_proto", "android_arm64_armv8-a_dylib").Output("buf.rs")
_ = ctx.ModuleForTests("librust_proto", "android_arm64_armv8-a_source").Output("buf.rs")
// Check that libprotobuf is added as a dependency.
librust_proto := ctx.ModuleForTests("librust_proto", "android_arm64_armv8-a_dylib").Module().(*Module)