diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2019-12-06 18:59:48 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-12-06 18:59:48 +0000 |
commit | f3c24c12efff1a6b8307eeea460310afbc80e131 (patch) | |
tree | e8798db1668ef4991cf124823f0499645271228a /java/java_test.go | |
parent | ad1997eebc3c04d4fcb9046b6b2b38839d7c3595 (diff) | |
parent | e403e9e8dc0098acb3ae429702a40ccf75a1c8f2 (diff) |
Merge "Link type checking for java_library"
Diffstat (limited to 'java/java_test.go')
-rw-r--r-- | java/java_test.go | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/java/java_test.go b/java/java_test.go index dc498a492..b8fae8e8a 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -288,6 +288,94 @@ func moduleToPath(name string) string { } } +func TestJavaLinkType(t *testing.T) { + testJava(t, ` + java_library { + name: "foo", + srcs: ["a.java"], + libs: ["bar"], + static_libs: ["baz"], + } + + java_library { + name: "bar", + sdk_version: "current", + srcs: ["b.java"], + } + + java_library { + name: "baz", + sdk_version: "system_current", + srcs: ["c.java"], + } + `) + + testJavaError(t, "Adjust sdk_version: property of the source or target module so that target module is built with the same or smaller API set than the source.", ` + java_library { + name: "foo", + srcs: ["a.java"], + libs: ["bar"], + sdk_version: "current", + static_libs: ["baz"], + } + + java_library { + name: "bar", + sdk_version: "current", + srcs: ["b.java"], + } + + java_library { + name: "baz", + sdk_version: "system_current", + srcs: ["c.java"], + } + `) + + testJava(t, ` + java_library { + name: "foo", + srcs: ["a.java"], + libs: ["bar"], + sdk_version: "system_current", + static_libs: ["baz"], + } + + java_library { + name: "bar", + sdk_version: "current", + srcs: ["b.java"], + } + + java_library { + name: "baz", + sdk_version: "system_current", + srcs: ["c.java"], + } + `) + + testJavaError(t, "Adjust sdk_version: property of the source or target module so that target module is built with the same or smaller API set than the source.", ` + java_library { + name: "foo", + srcs: ["a.java"], + libs: ["bar"], + sdk_version: "system_current", + static_libs: ["baz"], + } + + java_library { + name: "bar", + sdk_version: "current", + srcs: ["b.java"], + } + + java_library { + name: "baz", + srcs: ["c.java"], + } + `) +} + func TestSimple(t *testing.T) { ctx, _ := testJava(t, ` java_library { |