Merge changes from topic "cherrypicker-L27000030003160683:N90900030051335582" into main
* changes: Propagate transitive missing optional_uses_libs. Refactor the contruction of the manifest check inputs.
This commit is contained in:
26
java/java.go
26
java/java.go
@@ -966,8 +966,8 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
}
|
||||
|
||||
func (j *Library) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||
j.deps(ctx)
|
||||
j.usesLibrary.deps(ctx, false)
|
||||
j.deps(ctx)
|
||||
}
|
||||
|
||||
const (
|
||||
@@ -3162,13 +3162,35 @@ func addCLCFromDep(ctx android.ModuleContext, depModule android.Module,
|
||||
// <uses_library> and should not be added to CLC, but the transitive <uses-library> dependencies
|
||||
// from its CLC should be added to the current CLC.
|
||||
if sdkLib != nil {
|
||||
clcMap.AddContext(ctx, dexpreopt.AnySdkVersion, *sdkLib, false,
|
||||
optional := false
|
||||
if module, ok := ctx.Module().(ModuleWithUsesLibrary); ok {
|
||||
if android.InList(*sdkLib, module.UsesLibrary().usesLibraryProperties.Optional_uses_libs) {
|
||||
optional = true
|
||||
}
|
||||
}
|
||||
clcMap.AddContext(ctx, dexpreopt.AnySdkVersion, *sdkLib, optional,
|
||||
dep.DexJarBuildPath(ctx).PathOrNil(), dep.DexJarInstallPath(), dep.ClassLoaderContexts())
|
||||
} else {
|
||||
clcMap.AddContextMap(dep.ClassLoaderContexts(), depName)
|
||||
}
|
||||
}
|
||||
|
||||
func addMissingOptionalUsesLibsFromDep(ctx android.ModuleContext, depModule android.Module,
|
||||
usesLibrary *usesLibrary) {
|
||||
|
||||
dep, ok := depModule.(ModuleWithUsesLibrary)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
for _, lib := range dep.UsesLibrary().usesLibraryProperties.Missing_optional_uses_libs {
|
||||
if !android.InList(lib, usesLibrary.usesLibraryProperties.Missing_optional_uses_libs) {
|
||||
usesLibrary.usesLibraryProperties.Missing_optional_uses_libs =
|
||||
append(usesLibrary.usesLibraryProperties.Missing_optional_uses_libs, lib)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type JavaApiContributionImport struct {
|
||||
JavaApiContribution
|
||||
|
||||
|
Reference in New Issue
Block a user