Merge "Assume any <uses-library> is shared, add only toplevel ones to manifest." am: af07f732e6
am: 38352b8f69
am: e5b2f55684
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1511271 Change-Id: Ie8d573fc83c8f2426a1792b095fffeeced71997a
This commit is contained in:
committed by
Automerger Merge Worker
commit
b7fbee665a
@@ -426,7 +426,7 @@ func aaptLibs(ctx android.ModuleContext, sdkContext sdkContext, classLoaderConte
|
||||
// (including the java_sdk_library) itself then append any implicit sdk library
|
||||
// names to the list of sdk libraries to be added to the manifest.
|
||||
if component, ok := module.(SdkLibraryComponentDependency); ok {
|
||||
classLoaderContexts.MaybeAddContext(ctx, component.OptionalImplicitSdkLibrary(), true,
|
||||
classLoaderContexts.MaybeAddContext(ctx, component.OptionalImplicitSdkLibrary(),
|
||||
component.DexJarBuildPath(), component.DexJarInstallPath())
|
||||
}
|
||||
|
||||
|
@@ -1981,7 +1981,7 @@ func (u *usesLibrary) classLoaderContextForUsesLibDeps(ctx android.ModuleContext
|
||||
if tag, ok := ctx.OtherModuleDependencyTag(m).(usesLibraryDependencyTag); ok {
|
||||
dep := ctx.OtherModuleName(m)
|
||||
if lib, ok := m.(Dependency); ok {
|
||||
clcMap.AddContextForSdk(ctx, tag.sdkVersion, dep, isSharedSdkLibrary(m),
|
||||
clcMap.AddContextForSdk(ctx, tag.sdkVersion, dep,
|
||||
lib.DexJarBuildPath(), lib.DexJarInstallPath(), lib.ClassLoaderContexts())
|
||||
} else if ctx.Config().AllowMissingDependencies() {
|
||||
ctx.AddMissingDependencies([]string{dep})
|
||||
@@ -1995,11 +1995,6 @@ func (u *usesLibrary) classLoaderContextForUsesLibDeps(ctx android.ModuleContext
|
||||
return clcMap
|
||||
}
|
||||
|
||||
func isSharedSdkLibrary(m android.Module) bool {
|
||||
lib, ok := m.(SdkLibraryDependency)
|
||||
return ok && lib.IsSharedLibrary()
|
||||
}
|
||||
|
||||
// enforceUsesLibraries returns true of <uses-library> tags should be checked against uses_libs and optional_uses_libs
|
||||
// properties. Defaults to true if either of uses_libs or optional_uses_libs is specified. Will default to true
|
||||
// unconditionally in the future.
|
||||
|
11
java/java.go
11
java/java.go
@@ -1051,7 +1051,7 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps {
|
||||
case libTag:
|
||||
deps.classpath = append(deps.classpath, dep.SdkHeaderJars(ctx, j.sdkVersion())...)
|
||||
// names of sdk libs that are directly depended are exported
|
||||
j.classLoaderContexts.MaybeAddContext(ctx, dep.OptionalImplicitSdkLibrary(), true,
|
||||
j.classLoaderContexts.MaybeAddContext(ctx, dep.OptionalImplicitSdkLibrary(),
|
||||
dep.DexJarBuildPath(), dep.DexJarInstallPath())
|
||||
case staticLibTag:
|
||||
ctx.ModuleErrorf("dependency on java_sdk_library %q can only be in libs", otherName)
|
||||
@@ -2105,12 +2105,12 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
// add the name of that java_sdk_library to the exported sdk libs to make sure
|
||||
// that, if necessary, a <uses-library> element for that java_sdk_library is
|
||||
// added to the Android manifest.
|
||||
j.classLoaderContexts.MaybeAddContext(ctx, j.OptionalImplicitSdkLibrary(), true,
|
||||
j.classLoaderContexts.MaybeAddContext(ctx, j.OptionalImplicitSdkLibrary(),
|
||||
j.DexJarBuildPath(), j.DexJarInstallPath())
|
||||
|
||||
// A non-SDK library may provide a <uses-library> (the name may be different from the module name).
|
||||
if lib := proptools.String(j.usesLibraryProperties.Provides_uses_lib); lib != "" {
|
||||
j.classLoaderContexts.AddContext(ctx, lib, true, j.DexJarBuildPath(), j.DexJarInstallPath())
|
||||
j.classLoaderContexts.AddContext(ctx, lib, j.DexJarBuildPath(), j.DexJarInstallPath())
|
||||
}
|
||||
|
||||
j.distFiles = j.GenerateTaggedDistFiles(ctx)
|
||||
@@ -2793,8 +2793,7 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
case libTag:
|
||||
flags.classpath = append(flags.classpath, dep.SdkHeaderJars(ctx, j.sdkVersion())...)
|
||||
// names of sdk libs that are directly depended are exported
|
||||
j.classLoaderContexts.AddContext(ctx, otherName, dep.IsSharedLibrary(),
|
||||
dep.DexJarBuildPath(), dep.DexJarInstallPath())
|
||||
j.classLoaderContexts.AddContext(ctx, otherName, dep.DexJarBuildPath(), dep.DexJarInstallPath())
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -2809,7 +2808,7 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
// add the name of that java_sdk_library to the exported sdk libs to make sure
|
||||
// that, if necessary, a <uses-library> element for that java_sdk_library is
|
||||
// added to the Android manifest.
|
||||
j.classLoaderContexts.MaybeAddContext(ctx, j.OptionalImplicitSdkLibrary(), true,
|
||||
j.classLoaderContexts.MaybeAddContext(ctx, j.OptionalImplicitSdkLibrary(),
|
||||
outputFile, installFile)
|
||||
|
||||
j.exportAidlIncludeDirs = android.PathsForModuleSrc(ctx, j.properties.Aidl.Export_include_dirs)
|
||||
|
@@ -688,11 +688,6 @@ func (c *commonToSdkLibraryAndImport) apiModuleName(apiScope *apiScope) string {
|
||||
return c.namingScheme.apiModuleName(apiScope, c.moduleBase.BaseModuleName())
|
||||
}
|
||||
|
||||
// If the SDK library is a shared library.
|
||||
func (c *commonToSdkLibraryAndImport) IsSharedLibrary() bool {
|
||||
return c.sharedLibrary()
|
||||
}
|
||||
|
||||
// The component names for different outputs of the java_sdk_library.
|
||||
//
|
||||
// They are similar to the names used for the child modules it creates
|
||||
@@ -938,9 +933,6 @@ type SdkLibraryDependency interface {
|
||||
// jars for the stubs. The latter should only be needed when generating JavaDoc as otherwise
|
||||
// they are identical to the corresponding header jars.
|
||||
SdkImplementationJars(ctx android.BaseModuleContext, sdkVersion sdkSpec) android.Paths
|
||||
|
||||
// If the SDK library is a shared library.
|
||||
IsSharedLibrary() bool
|
||||
}
|
||||
|
||||
type SdkLibrary struct {
|
||||
|
Reference in New Issue
Block a user