Fix excluding resource directories
Using a glob as a path failed the existence check. Append the
glob after converting the path to a string.
Test: TestExcludeResources in java_test.go
Change-Id: Ic1fd40aa283f3b0d59c1c589dbeec411583eddf1
diff --git a/java/java_test.go b/java/java_test.go
index 7154f5e..3b73fdd 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -96,6 +96,8 @@
"b.jar": nil,
"res/a": nil,
"res/b": nil,
+ "res2/a": nil,
+
"prebuilts/sdk/14/android.jar": nil,
"prebuilts/sdk/14/framework.aidl": nil,
})
@@ -434,6 +436,42 @@
}
}
+func TestExcludeResources(t *testing.T) {
+ ctx := testJava(t, `
+ java_library {
+ name: "foo",
+ srcs: ["a.java"],
+ java_resource_dirs: ["res", "res2"],
+ exclude_java_resource_dirs: ["res2"],
+ }
+
+ java_library {
+ name: "bar",
+ srcs: ["a.java"],
+ java_resources: ["res/*"],
+ exclude_java_resources: ["res/b"],
+ }
+ `)
+
+ fooRes := ctx.ModuleForTests("foo", "android_common").Output("res.jar")
+
+ expected := "-C res -l " + fooRes.Implicits[0].String()
+ if fooRes.Args["jarArgs"] != expected {
+ t.Errorf("foo resource jar args %q is not %q",
+ fooRes.Args["jarArgs"], expected)
+
+ }
+
+ barRes := ctx.ModuleForTests("bar", "android_common").Output("res.jar")
+
+ expected = "-C . -f res/a"
+ if barRes.Args["jarArgs"] != expected {
+ t.Errorf("bar resource jar args %q is not %q",
+ barRes.Args["jarArgs"], expected)
+
+ }
+}
+
func fail(t *testing.T, errs []error) {
if len(errs) > 0 {
for _, err := range errs {