Support data properties in java_test and android_test

Files in the data property will be passed to
LOCAL_COMPATIBILITY_SUPPORT_FILES in Make.

Test: m checkbuild
Change-Id: Ifc074317f957aba8f55daa30abc5b9737d1eceac
diff --git a/java/java.go b/java/java.go
index 8fe4f35..a015a99 100644
--- a/java/java.go
+++ b/java/java.go
@@ -1357,6 +1357,10 @@
 	// the name of the test configuration (for example "AndroidTest.xml") that should be
 	// installed with the module.
 	Test_config *string `android:"arch_variant"`
+
+	// list of files or filegroup modules that provide data that should be installed alongside
+	// the test
+	Data []string
 }
 
 type Test struct {
@@ -1365,10 +1369,12 @@
 	testProperties testProperties
 
 	testConfig android.Path
+	data       android.Paths
 }
 
 func (j *Test) GenerateAndroidBuildActions(ctx android.ModuleContext) {
 	j.testConfig = tradefed.AutoGenJavaTestConfig(ctx, j.testProperties.Test_config)
+	j.data = ctx.ExpandSources(j.testProperties.Data, nil)
 
 	j.Library.GenerateAndroidBuildActions(ctx)
 }
@@ -1379,6 +1385,7 @@
 		ctx.AddDependency(ctx.Module(), staticLibTag, "junit")
 	}
 	android.ExtractSourceDeps(ctx, j.testProperties.Test_config)
+	android.ExtractSourcesDeps(ctx, j.testProperties.Data)
 }
 
 func TestFactory() android.Module {