aboutsummaryrefslogtreecommitdiffstats
path: root/genrule
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2017-02-01 14:12:44 -0800
committerColin Cross <ccross@android.com>2017-02-02 16:23:30 -0800
commitfaeb7aa1351df6f1d7eae990d0e3d4c68f5c4abf (patch)
treefe410a9a1925ecc8b9492864555cde041d7d9e8d /genrule
parent294941bee9566e76047a230acea451cbc188210b (diff)
downloadbuild_soong-faeb7aa1351df6f1d7eae990d0e3d4c68f5c4abf.tar.gz
build_soong-faeb7aa1351df6f1d7eae990d0e3d4c68f5c4abf.tar.bz2
build_soong-faeb7aa1351df6f1d7eae990d0e3d4c68f5c4abf.zip
Support data properties for test binaries
Allow tests to specify a data property that lists files or filegroup modules that will be packaged alongside the test. Also add a path property to filegroup modules to allow shifting the path of the packaged files, and add ExpandSourcesSubDir to expand the filegroup sources while including a shifted relative path in the Paths objects. Test: soong tests, manually adding data to a module Change-Id: I52a48942660e12755d313ef13279313361b4fc35
Diffstat (limited to 'genrule')
-rw-r--r--genrule/filegroup.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/genrule/filegroup.go b/genrule/filegroup.go
index 9b53c9f7..c1d08a82 100644
--- a/genrule/filegroup.go
+++ b/genrule/filegroup.go
@@ -29,6 +29,12 @@ type fileGroupProperties struct {
Srcs []string
Exclude_srcs []string
+
+ // The base path to the files. May be used by other modules to determine which portion
+ // of the path to use. For example, when a filegroup is used as data in a cc_test rule,
+ // the base path is stripped off the path and the remaining path is used as the
+ // installation directory.
+ Path string
}
type fileGroup struct {
@@ -53,7 +59,7 @@ func (fg *fileGroup) DepsMutator(ctx android.BottomUpMutatorContext) {
}
func (fg *fileGroup) GenerateAndroidBuildActions(ctx android.ModuleContext) {
- fg.srcs = ctx.ExpandSources(fg.properties.Srcs, fg.properties.Exclude_srcs)
+ fg.srcs = ctx.ExpandSourcesSubDir(fg.properties.Srcs, fg.properties.Exclude_srcs, fg.properties.Path)
}
func (fg *fileGroup) Srcs() android.Paths {