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
This commit is contained in:
parent
19ab372dd8
commit
965714f139
|
@ -285,9 +285,7 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
|
|||
ctx.AddDependency(ctx.Module(), bootClasspathTag, sdkDep.module)
|
||||
}
|
||||
} else {
|
||||
if j.deviceProperties.Dex {
|
||||
ctx.AddDependency(ctx.Module(), bootClasspathTag, config.DefaultBootclasspathLibraries...)
|
||||
}
|
||||
// TODO(ccross): add hostdex support
|
||||
}
|
||||
}
|
||||
ctx.AddDependency(ctx.Module(), libTag, j.properties.Libs...)
|
||||
|
|
|
@ -185,6 +185,7 @@ func TestArchSpecific(t *testing.T) {
|
|||
|
||||
var classpathTestcases = []struct {
|
||||
name string
|
||||
moduleType string
|
||||
host android.OsClass
|
||||
properties string
|
||||
bootclasspath []string
|
||||
|
@ -239,27 +240,41 @@ var classpathTestcases = []struct {
|
|||
{
|
||||
|
||||
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+`
|
||||
|
|
Loading…
Reference in New Issue