diff options
author | 2019-05-29 14:40:35 -0700 | |
---|---|---|
committer | 2019-06-04 10:22:51 -0700 | |
commit | 41955e8895fe33022a6759b9739a2368b206c392 (patch) | |
tree | f1a20db995473d7475a502113eb583b317c39a0a /android/path_properties_test.go | |
parent | 4c2c46f0a72e21ffe6be407028b857ba461144d7 (diff) |
Support tagged module references
There are cases where a module needs to refer to an intermediate
output of another module instead of its final output. For example,
a module may want to use the .jar containing .class files from
another module whose final output is a .jar containing classes.dex
files. Support a new ":module{.tag}" format in any property that
is annotated with `android:"path"`, which will query the target
module for its ".tag" output(s).
Test: path_properties_test.go, paths_test.go
Test: no unexpected changes in build.ninja
Change-Id: Icd3c9b0d83ff125771767c04046fcffb9fc3f65a
Diffstat (limited to 'android/path_properties_test.go')
-rw-r--r-- | android/path_properties_test.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/android/path_properties_test.go b/android/path_properties_test.go index ecc2d2122..fa187fa6f 100644 --- a/android/path_properties_test.go +++ b/android/path_properties_test.go @@ -41,8 +41,10 @@ func pathDepsMutatorTestModuleFactory() Module { } func (p *pathDepsMutatorTestModule) GenerateAndroidBuildActions(ctx ModuleContext) { - ctx.VisitDirectDepsWithTag(SourceDepTag, func(dep Module) { - p.sourceDeps = append(p.sourceDeps, ctx.OtherModuleName(dep)) + ctx.VisitDirectDeps(func(dep Module) { + if _, ok := ctx.OtherModuleDependencyTag(dep).(sourceOrOutputDependencyTag); ok { + p.sourceDeps = append(p.sourceDeps, ctx.OtherModuleName(dep)) + } }) } @@ -59,7 +61,7 @@ func TestPathDepsMutator(t *testing.T) { name: "foo", foo: ":a", bar: [":b"], - baz: ":c", + baz: ":c{.bar}", qux: ":d", }`, deps: []string{"a", "b", "c"}, |