Link type checking for java_library
Link type checking for java_library has not been working unintentionally. So turn on link type checking for these types. And also add tests for link type checking. Bug: 145799020 Test: cherry-pick aosp/1182522 and check if build fails Test: m nothing and there is no error(soong unittest) Change-Id: Ifc347f657885de1028ac0076ddd103c0387b597a
This commit is contained in:
@@ -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 {
|
||||
|
Reference in New Issue
Block a user