Move ClassLoaderContexts() method to UsesLibraryDependency interface.
This method logically belongs with other UsesLibraryDependency methods, as it is used in the same context when computing class loader context. Previously it was part of Dependency interface, which doesn't cover SDK libraries. We do not currently have the necessary information for SdkLibraryImport (so ClassLoaderContexts() returns nil for it), but we do have it for SdkLibrary (via Library). Bug: 132357300 Test: m nothing Change-Id: I56437f260efc6a9af3f45b334e84e915244ccce1
This commit is contained in:
parent
e8e8606892
commit
dbf31665ab
|
@ -1987,7 +1987,7 @@ func (u *usesLibrary) classLoaderContextForUsesLibDeps(ctx android.ModuleContext
|
|||
ctx.VisitDirectDeps(func(m android.Module) {
|
||||
if tag, ok := ctx.OtherModuleDependencyTag(m).(usesLibraryDependencyTag); ok {
|
||||
dep := ctx.OtherModuleName(m)
|
||||
if lib, ok := m.(Dependency); ok {
|
||||
if lib, ok := m.(UsesLibraryDependency); ok {
|
||||
clcMap.AddContextForSdk(ctx, tag.sdkVersion, dep,
|
||||
lib.DexJarBuildPath(), lib.DexJarInstallPath(), lib.ClassLoaderContexts())
|
||||
} else if ctx.Config().AllowMissingDependencies() {
|
||||
|
|
|
@ -510,6 +510,7 @@ type ApexDependency interface {
|
|||
type UsesLibraryDependency interface {
|
||||
DexJarBuildPath() android.Path
|
||||
DexJarInstallPath() android.Path
|
||||
ClassLoaderContexts() dexpreopt.ClassLoaderContextMap
|
||||
}
|
||||
|
||||
type Dependency interface {
|
||||
|
@ -518,7 +519,6 @@ type Dependency interface {
|
|||
ImplementationJars() android.Paths
|
||||
ResourceJars() android.Paths
|
||||
AidlIncludeDirs() android.Paths
|
||||
ClassLoaderContexts() dexpreopt.ClassLoaderContextMap
|
||||
ExportedPlugins() (android.Paths, []string, bool)
|
||||
SrcJarArgs() ([]string, android.Paths)
|
||||
BaseModuleName() string
|
||||
|
|
|
@ -28,6 +28,7 @@ import (
|
|||
"github.com/google/blueprint/proptools"
|
||||
|
||||
"android/soong/android"
|
||||
"android/soong/dexpreopt"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -2016,7 +2017,7 @@ func (module *SdkLibraryImport) SdkImplementationJars(ctx android.BaseModuleCont
|
|||
return module.sdkJars(ctx, sdkVersion, false)
|
||||
}
|
||||
|
||||
// to satisfy SdkLibraryDependency interface
|
||||
// to satisfy UsesLibraryDependency interface
|
||||
func (module *SdkLibraryImport) DexJarBuildPath() android.Path {
|
||||
if module.implLibraryModule == nil {
|
||||
return nil
|
||||
|
@ -2025,7 +2026,7 @@ func (module *SdkLibraryImport) DexJarBuildPath() android.Path {
|
|||
}
|
||||
}
|
||||
|
||||
// to satisfy SdkLibraryDependency interface
|
||||
// to satisfy UsesLibraryDependency interface
|
||||
func (module *SdkLibraryImport) DexJarInstallPath() android.Path {
|
||||
if module.implLibraryModule == nil {
|
||||
return nil
|
||||
|
@ -2034,6 +2035,11 @@ func (module *SdkLibraryImport) DexJarInstallPath() android.Path {
|
|||
}
|
||||
}
|
||||
|
||||
// to satisfy UsesLibraryDependency interface
|
||||
func (module *SdkLibraryImport) ClassLoaderContexts() dexpreopt.ClassLoaderContextMap {
|
||||
return nil
|
||||
}
|
||||
|
||||
// to satisfy apex.javaDependency interface
|
||||
func (module *SdkLibraryImport) JacocoReportClassesFile() android.Path {
|
||||
if module.implLibraryModule == nil {
|
||||
|
|
Loading…
Reference in New Issue