Allow java_system_modules_import to replace java_system_modules
Previously, there were some places where a java_system_module_import could not be used in place of a java_system_module. That was because the code assumed a *SystemModules type not a *systemModulesImport type. This change introduces a SystemModulesProvider interface that is used instead and is implemented on both types. Bug: 142940300 Test: m nothing ran new tests before changes to make sure they detected the issue and after to make sure the changes fixed the issue. Change-Id: I7b16ac5708880bdf61e6f5b1e6616c986f0ed763
This commit is contained in:
12
java/java.go
12
java/java.go
@@ -1031,18 +1031,16 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps {
|
||||
case bootClasspathTag:
|
||||
// If a system modules dependency has been added to the bootclasspath
|
||||
// then add its libs to the bootclasspath.
|
||||
sm := module.(*SystemModules)
|
||||
deps.bootClasspath = append(deps.bootClasspath, sm.headerJars...)
|
||||
sm := module.(SystemModulesProvider)
|
||||
deps.bootClasspath = append(deps.bootClasspath, sm.HeaderJars()...)
|
||||
|
||||
case systemModulesTag:
|
||||
if deps.systemModules != nil {
|
||||
panic("Found two system module dependencies")
|
||||
}
|
||||
sm := module.(*SystemModules)
|
||||
if sm.outputDir == nil || len(sm.outputDeps) == 0 {
|
||||
panic("Missing directory for system module dependency")
|
||||
}
|
||||
deps.systemModules = &systemModules{sm.outputDir, sm.outputDeps}
|
||||
sm := module.(SystemModulesProvider)
|
||||
outputDir, outputDeps := sm.OutputDirAndDeps()
|
||||
deps.systemModules = &systemModules{outputDir, outputDeps}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
Reference in New Issue
Block a user