rust: Add data_libs and data_bins to rust_test
Allows defining data binaries and libraries that should be installed alongside a rust_test module, similar to cc_test. This refactors cc_test as well so it can define rust_ffi_shared and rust_binary modules as data. Bug: 171710847 Test: New Soong tests pass. Test: Example module installs data appropriately. Change-Id: I0b56098fb475ec54f9b7a761220d260fe68cbee1
This commit is contained in:
12
rust/rust.go
12
rust/rust.go
@@ -390,6 +390,10 @@ type Deps struct {
|
||||
WholeStaticLibs []string
|
||||
HeaderLibs []string
|
||||
|
||||
// Used for data dependencies adjacent to tests
|
||||
DataLibs []string
|
||||
DataBins []string
|
||||
|
||||
CrtBegin, CrtEnd string
|
||||
}
|
||||
|
||||
@@ -975,6 +979,8 @@ var (
|
||||
procMacroDepTag = dependencyTag{name: "procMacro", procMacro: true}
|
||||
testPerSrcDepTag = dependencyTag{name: "rust_unit_tests"}
|
||||
sourceDepTag = dependencyTag{name: "source"}
|
||||
dataLibDepTag = dependencyTag{name: "data lib"}
|
||||
dataBinDepTag = dependencyTag{name: "data bin"}
|
||||
)
|
||||
|
||||
func IsDylibDepTag(depTag blueprint.DependencyTag) bool {
|
||||
@@ -1400,6 +1406,12 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) {
|
||||
}
|
||||
}
|
||||
|
||||
actx.AddVariationDependencies([]blueprint.Variation{
|
||||
{Mutator: "link", Variation: "shared"},
|
||||
}, dataLibDepTag, deps.DataLibs...)
|
||||
|
||||
actx.AddVariationDependencies(nil, dataBinDepTag, deps.DataBins...)
|
||||
|
||||
// proc_macros are compiler plugins, and so we need the host arch variant as a dependendcy.
|
||||
actx.AddFarVariationDependencies(ctx.Config().BuildOSTarget.Variations(), procMacroDepTag, deps.ProcMacros...)
|
||||
}
|
||||
|
Reference in New Issue
Block a user