Fix bootclasspath for host variants of java_library modules
The partial hostdex support was causing the host variant of
java_library modules to depend on core-oj and core-libart,
which caused the tagsoup jar to use the wrong
java.lang.System.arraycopy signature. Remove the hostdex
code that was causing the problem, and add a test.
Test: java_test.go
Change-Id: I4f7b1f29c99aae328ba19b042538d9d35544aa43
diff --git a/java/java_test.go b/java/java_test.go
index 2b92f49..a4a3f52 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -185,6 +185,7 @@
var classpathTestcases = []struct {
name string
+ moduleType string
host android.OsClass
properties string
bootclasspath []string
@@ -239,27 +240,41 @@
{
name: "host default",
- host: android.Host,
+ moduleType: "java_library_host",
properties: ``,
+ host: android.Host,
classpath: []string{},
},
{
name: "host nostdlib",
+ moduleType: "java_library_host",
host: android.Host,
properties: `no_standard_libs: true`,
classpath: []string{},
},
+ {
+
+ name: "host supported default",
+ host: android.Host,
+ properties: `host_supported: true,`,
+ classpath: []string{},
+ },
+ {
+ name: "host supported nostdlib",
+ host: android.Host,
+ properties: `host_supported: true, no_standard_libs: true`,
+ classpath: []string{},
+ },
}
func TestClasspath(t *testing.T) {
for _, testcase := range classpathTestcases {
t.Run(testcase.name, func(t *testing.T) {
- hostExtra := ""
- if testcase.host == android.Host {
- hostExtra = "_host"
+ moduleType := "java_library"
+ if testcase.moduleType != "" {
+ moduleType = testcase.moduleType
}
- ctx := testJava(t, `
- java_library`+hostExtra+` {
+ ctx := testJava(t, moduleType+` {
name: "foo",
srcs: ["a.java"],
`+testcase.properties+`