diff options
author | Colin Cross <ccross@android.com> | 2019-05-07 10:43:23 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-05-07 10:43:23 -0700 |
commit | 2146d5642d9307b28d4198bcc3ad53a2fe7e9509 (patch) | |
tree | 5389dc69f47c8b929a3b3be487a4203506442851 /java/java_test.go | |
parent | 1cd8159cd366beaa1b0fca93ee0c2fc29cbeb58f (diff) | |
parent | 222f5ee5f249b95f874a869c9a1016d22a8b51ab (diff) |
Merge "Track sources for srcjars across modules" am: 082640d6ee
am: 222f5ee5f2
Change-Id: I1787ef4d66ebd129a15536b1455139235613ce2c
Diffstat (limited to 'java/java_test.go')
-rw-r--r-- | java/java_test.go | 69 |
1 files changed, 63 insertions, 6 deletions
diff --git a/java/java_test.go b/java/java_test.go index 0cbcb887c..c17b659e4 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -482,12 +482,6 @@ func TestResources(t *testing.T) { args: "-C java-res -f java-res/a/a -f java-res/b/b", }, { - // Test that a module with "include_srcs: true" includes its source files in the resources jar - name: "include sources", - prop: `include_srcs: true`, - args: "-C . -f a.java -f b.java -f c.java", - }, - { // Test that a module with wildcards in java_resource_dirs has the correct path prefixes name: "wildcard dirs", prop: `java_resource_dirs: ["java-res/*"]`, @@ -555,6 +549,69 @@ func TestResources(t *testing.T) { } } +func TestIncludeSrcs(t *testing.T) { + ctx := testJava(t, ` + java_library { + name: "foo", + srcs: [ + "a.java", + "b.java", + "c.java", + ], + include_srcs: true, + } + + java_library { + name: "bar", + srcs: [ + "a.java", + "b.java", + "c.java", + ], + java_resource_dirs: ["java-res"], + include_srcs: true, + } + `) + + // Test a library with include_srcs: true + foo := ctx.ModuleForTests("foo", "android_common").Output("withres/foo.jar") + fooSrcJar := ctx.ModuleForTests("foo", "android_common").Output("foo.srcjar") + + if g, w := fooSrcJar.Output.String(), foo.Inputs.Strings(); !inList(g, w) { + t.Errorf("foo combined jars %v does not contain %q", w, g) + } + + if g, w := fooSrcJar.Args["jarArgs"], "-C . -f a.java -f b.java -f c.java"; g != w { + t.Errorf("foo source jar args %q is not %q", w, g) + } + + // Test a library with include_srcs: true and resources + bar := ctx.ModuleForTests("bar", "android_common").Output("withres/bar.jar") + barResCombined := ctx.ModuleForTests("bar", "android_common").Output("res-combined/bar.jar") + barRes := ctx.ModuleForTests("bar", "android_common").Output("res/bar.jar") + barSrcJar := ctx.ModuleForTests("bar", "android_common").Output("bar.srcjar") + + if g, w := barSrcJar.Output.String(), barResCombined.Inputs.Strings(); !inList(g, w) { + t.Errorf("bar combined resource jars %v does not contain %q", w, g) + } + + if g, w := barRes.Output.String(), barResCombined.Inputs.Strings(); !inList(g, w) { + t.Errorf("bar combined resource jars %v does not contain %q", w, g) + } + + if g, w := barResCombined.Output.String(), bar.Inputs.Strings(); !inList(g, w) { + t.Errorf("bar combined jars %v does not contain %q", w, g) + } + + if g, w := barSrcJar.Args["jarArgs"], "-C . -f a.java -f b.java -f c.java"; g != w { + t.Errorf("bar source jar args %q is not %q", w, g) + } + + if g, w := barRes.Args["jarArgs"], "-C java-res -f java-res/a/a -f java-res/b/b"; g != w { + t.Errorf("bar resource jar args %q is not %q", w, g) + } +} + func TestGeneratedSources(t *testing.T) { ctx := testJava(t, ` java_library { |