summaryrefslogtreecommitdiff
path: root/java/java_test.go
diff options
context:
space:
mode:
authorAnton Hansson <hansson@google.com>2020-10-12 09:00:13 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-10-12 09:00:13 +0000
commit858a8cabf95f2f5627788979f55e29fa9d3828d0 (patch)
tree3db6a562b29fb596952d7bfbb488957028922b75 /java/java_test.go
parent6aa958902ad6e9efa4847311bc6e527f0e2c832a (diff)
parent7f66efa10c126ca6ad22e1452e7af4dcaca730e1 (diff)
Merge "Add a Impl_only_libs prop for sdk_library"
Diffstat (limited to 'java/java_test.go')
-rw-r--r--java/java_test.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/java/java_test.go b/java/java_test.go
index a43e2a8c9..ea1e9ed82 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -1580,6 +1580,39 @@ func TestJavaSdkLibrary(t *testing.T) {
}
}
+func TestJavaSdkLibrary_StubOrImplOnlyLibs(t *testing.T) {
+ ctx, _ := testJava(t, `
+ java_sdk_library {
+ name: "sdk_lib",
+ srcs: ["a.java"],
+ impl_only_libs: ["foo"],
+ stub_only_libs: ["bar"],
+ }
+ java_library {
+ name: "foo",
+ srcs: ["a.java"],
+ sdk_version: "current",
+ }
+ java_library {
+ name: "bar",
+ srcs: ["a.java"],
+ sdk_version: "current",
+ }
+ `)
+
+ for _, implName := range []string{"sdk_lib", "sdk_lib.impl"} {
+ implJavacCp := ctx.ModuleForTests(implName, "android_common").Rule("javac").Args["classpath"]
+ if !strings.Contains(implJavacCp, "/foo.jar") || strings.Contains(implJavacCp, "/bar.jar") {
+ t.Errorf("%v javac classpath %v does not contain foo and not bar", implName, implJavacCp)
+ }
+ }
+ stubName := apiScopePublic.stubsLibraryModuleName("sdk_lib")
+ stubsJavacCp := ctx.ModuleForTests(stubName, "android_common").Rule("javac").Args["classpath"]
+ if strings.Contains(stubsJavacCp, "/foo.jar") || !strings.Contains(stubsJavacCp, "/bar.jar") {
+ t.Errorf("stubs javac classpath %v does not contain bar and not foo", stubsJavacCp)
+ }
+}
+
func TestJavaSdkLibrary_DoNotAccessImplWhenItIsNotBuilt(t *testing.T) {
ctx, _ := testJava(t, `
java_sdk_library {