Define an output file of runtime_resource_overlay
So that rros can be data of test modules.
Test: go test
Change-Id: I460a97fd9f430ec8e52ef6756d74b02693469d06
diff --git a/java/rro.go b/java/rro.go
index 42d42b8..4ae8d7f 100644
--- a/java/rro.go
+++ b/java/rro.go
@@ -99,15 +99,6 @@
Overrides []string
}
-// RuntimeResourceOverlayModule interface is used by the apex package to gather information from
-// a RuntimeResourceOverlay module.
-type RuntimeResourceOverlayModule interface {
- android.Module
- OutputFile() android.Path
- Certificate() Certificate
- Theme() string
-}
-
// RRO's partition logic is different from the partition logic of other modules defined in soong/android/paths.go
// The default partition for RRO is "/product" and not "/system"
func rroPartition(ctx android.ModuleContext) string {
@@ -217,11 +208,13 @@
})
android.SetProvider(ctx, RuntimeResourceOverlayInfoProvider, RuntimeResourceOverlayInfo{
- OutputFile: r.OutputFile(),
+ OutputFile: r.outputFile,
Certificate: r.Certificate(),
Theme: r.Theme(),
})
+ ctx.SetOutputFiles([]android.Path{r.outputFile}, "")
+
buildComplianceMetadata(ctx)
}
@@ -252,10 +245,6 @@
return r.certificate
}
-func (r *RuntimeResourceOverlay) OutputFile() android.Path {
- return r.outputFile
-}
-
func (r *RuntimeResourceOverlay) Theme() string {
return String(r.properties.Theme)
}
diff --git a/java/rro_test.go b/java/rro_test.go
index 0ccc8e7..3e4fed5 100644
--- a/java/rro_test.go
+++ b/java/rro_test.go
@@ -358,3 +358,21 @@
"--feature-flags @out/soong/.intermediates/bar/intermediate.txt --feature-flags @out/soong/.intermediates/baz/intermediate.txt",
)
}
+
+func TestCanBeDataOfTest(t *testing.T) {
+ android.GroupFixturePreparers(
+ prepareForJavaTest,
+ ).RunTestWithBp(t, `
+ runtime_resource_overlay {
+ name: "foo",
+ sdk_version: "current",
+ }
+ android_test {
+ name: "bar",
+ data: [
+ ":foo",
+ ],
+ }
+ `)
+ // Just test that this doesn't get errors
+}