Merge "Rename collectTransitiveHeaderJars and friends to mention R8" into main am: 13d8e82c5e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3216678 Change-Id: I8a425dc292fd5ce81a2e5343fd18f21fa3d472d6 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
18
java/aar.go
18
java/aar.go
@@ -993,7 +993,7 @@ type AARImport struct {
|
|||||||
// Functionality common to Module and Import.
|
// Functionality common to Module and Import.
|
||||||
embeddableInModuleAndImport
|
embeddableInModuleAndImport
|
||||||
|
|
||||||
providesTransitiveHeaderJars
|
providesTransitiveHeaderJarsForR8
|
||||||
|
|
||||||
properties AARImportProperties
|
properties AARImportProperties
|
||||||
|
|
||||||
@@ -1290,7 +1290,7 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
android.WriteFileRule(ctx, transitiveAaptResourcePackagesFile, strings.Join(transitiveAaptResourcePackages, "\n"))
|
android.WriteFileRule(ctx, transitiveAaptResourcePackagesFile, strings.Join(transitiveAaptResourcePackages, "\n"))
|
||||||
a.transitiveAaptResourcePackagesFile = transitiveAaptResourcePackagesFile
|
a.transitiveAaptResourcePackagesFile = transitiveAaptResourcePackagesFile
|
||||||
|
|
||||||
a.collectTransitiveHeaderJars(ctx)
|
a.collectTransitiveHeaderJarsForR8(ctx)
|
||||||
|
|
||||||
a.classLoaderContexts = a.usesLibrary.classLoaderContextForUsesLibDeps(ctx)
|
a.classLoaderContexts = a.usesLibrary.classLoaderContextForUsesLibDeps(ctx)
|
||||||
|
|
||||||
@@ -1358,13 +1358,13 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
ctx.CheckbuildFile(a.implementationJarFile)
|
ctx.CheckbuildFile(a.implementationJarFile)
|
||||||
|
|
||||||
android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{
|
android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{
|
||||||
HeaderJars: android.PathsIfNonNil(a.headerJarFile),
|
HeaderJars: android.PathsIfNonNil(a.headerJarFile),
|
||||||
ResourceJars: android.PathsIfNonNil(resourceJarFile),
|
ResourceJars: android.PathsIfNonNil(resourceJarFile),
|
||||||
TransitiveLibsHeaderJars: a.transitiveLibsHeaderJars,
|
TransitiveLibsHeaderJarsForR8: a.transitiveLibsHeaderJarsForR8,
|
||||||
TransitiveStaticLibsHeaderJars: a.transitiveStaticLibsHeaderJars,
|
TransitiveStaticLibsHeaderJarsForR8: a.transitiveStaticLibsHeaderJarsForR8,
|
||||||
ImplementationAndResourcesJars: android.PathsIfNonNil(a.implementationAndResourcesJarFile),
|
ImplementationAndResourcesJars: android.PathsIfNonNil(a.implementationAndResourcesJarFile),
|
||||||
ImplementationJars: android.PathsIfNonNil(a.implementationJarFile),
|
ImplementationJars: android.PathsIfNonNil(a.implementationJarFile),
|
||||||
StubsLinkType: Implementation,
|
StubsLinkType: Implementation,
|
||||||
// TransitiveAconfigFiles: // TODO(b/289117800): LOCAL_ACONFIG_FILES for prebuilts
|
// TransitiveAconfigFiles: // TODO(b/289117800): LOCAL_ACONFIG_FILES for prebuilts
|
||||||
})
|
})
|
||||||
|
|
||||||
|
42
java/base.go
42
java/base.go
@@ -1283,8 +1283,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
|||||||
|
|
||||||
android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{
|
android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{
|
||||||
HeaderJars: android.PathsIfNonNil(j.headerJarFile),
|
HeaderJars: android.PathsIfNonNil(j.headerJarFile),
|
||||||
TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars,
|
TransitiveLibsHeaderJarsForR8: j.transitiveLibsHeaderJarsForR8,
|
||||||
TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars,
|
TransitiveStaticLibsHeaderJarsForR8: j.transitiveStaticLibsHeaderJarsForR8,
|
||||||
AidlIncludeDirs: j.exportAidlIncludeDirs,
|
AidlIncludeDirs: j.exportAidlIncludeDirs,
|
||||||
ExportedPlugins: j.exportedPluginJars,
|
ExportedPlugins: j.exportedPluginJars,
|
||||||
ExportedPluginClasses: j.exportedPluginClasses,
|
ExportedPluginClasses: j.exportedPluginClasses,
|
||||||
@@ -1812,8 +1812,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
|
|||||||
android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{
|
android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{
|
||||||
HeaderJars: android.PathsIfNonNil(j.headerJarFile),
|
HeaderJars: android.PathsIfNonNil(j.headerJarFile),
|
||||||
RepackagedHeaderJars: android.PathsIfNonNil(j.repackagedHeaderJarFile),
|
RepackagedHeaderJars: android.PathsIfNonNil(j.repackagedHeaderJarFile),
|
||||||
TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars,
|
TransitiveLibsHeaderJarsForR8: j.transitiveLibsHeaderJarsForR8,
|
||||||
TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars,
|
TransitiveStaticLibsHeaderJarsForR8: j.transitiveStaticLibsHeaderJarsForR8,
|
||||||
ImplementationAndResourcesJars: android.PathsIfNonNil(j.implementationAndResourcesJar),
|
ImplementationAndResourcesJars: android.PathsIfNonNil(j.implementationAndResourcesJar),
|
||||||
ImplementationJars: android.PathsIfNonNil(j.implementationJarFile),
|
ImplementationJars: android.PathsIfNonNil(j.implementationJarFile),
|
||||||
ResourceJars: android.PathsIfNonNil(j.resourceJar),
|
ResourceJars: android.PathsIfNonNil(j.resourceJar),
|
||||||
@@ -1993,22 +1993,18 @@ func (j *Module) instrument(ctx android.ModuleContext, flags javaBuilderFlags,
|
|||||||
return instrumentedJar
|
return instrumentedJar
|
||||||
}
|
}
|
||||||
|
|
||||||
type providesTransitiveHeaderJars struct {
|
type providesTransitiveHeaderJarsForR8 struct {
|
||||||
// set of header jars for all transitive libs deps
|
// set of header jars for all transitive libs deps
|
||||||
transitiveLibsHeaderJars *android.DepSet[android.Path]
|
transitiveLibsHeaderJarsForR8 *android.DepSet[android.Path]
|
||||||
// set of header jars for all transitive static libs deps
|
// set of header jars for all transitive static libs deps
|
||||||
transitiveStaticLibsHeaderJars *android.DepSet[android.Path]
|
transitiveStaticLibsHeaderJarsForR8 *android.DepSet[android.Path]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j *providesTransitiveHeaderJars) TransitiveLibsHeaderJars() *android.DepSet[android.Path] {
|
// collectTransitiveHeaderJarsForR8 visits direct dependencies and collects all transitive libs and static_libs
|
||||||
return j.transitiveLibsHeaderJars
|
// header jars. The semantics of the collected jars are odd (it collects combined jars that contain the static
|
||||||
}
|
// libs, but also the static libs, and it collects transitive libs dependencies of static_libs), so these
|
||||||
|
// are only used to expand the --lib arguments to R8.
|
||||||
func (j *providesTransitiveHeaderJars) TransitiveStaticLibsHeaderJars() *android.DepSet[android.Path] {
|
func (j *providesTransitiveHeaderJarsForR8) collectTransitiveHeaderJarsForR8(ctx android.ModuleContext) {
|
||||||
return j.transitiveStaticLibsHeaderJars
|
|
||||||
}
|
|
||||||
|
|
||||||
func (j *providesTransitiveHeaderJars) collectTransitiveHeaderJars(ctx android.ModuleContext) {
|
|
||||||
directLibs := android.Paths{}
|
directLibs := android.Paths{}
|
||||||
directStaticLibs := android.Paths{}
|
directStaticLibs := android.Paths{}
|
||||||
transitiveLibs := []*android.DepSet[android.Path]{}
|
transitiveLibs := []*android.DepSet[android.Path]{}
|
||||||
@@ -2031,16 +2027,16 @@ func (j *providesTransitiveHeaderJars) collectTransitiveHeaderJars(ctx android.M
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if dep.TransitiveLibsHeaderJars != nil {
|
if dep.TransitiveLibsHeaderJarsForR8 != nil {
|
||||||
transitiveLibs = append(transitiveLibs, dep.TransitiveLibsHeaderJars)
|
transitiveLibs = append(transitiveLibs, dep.TransitiveLibsHeaderJarsForR8)
|
||||||
}
|
}
|
||||||
if dep.TransitiveStaticLibsHeaderJars != nil {
|
if dep.TransitiveStaticLibsHeaderJarsForR8 != nil {
|
||||||
transitiveStaticLibs = append(transitiveStaticLibs, dep.TransitiveStaticLibsHeaderJars)
|
transitiveStaticLibs = append(transitiveStaticLibs, dep.TransitiveStaticLibsHeaderJarsForR8)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
j.transitiveLibsHeaderJars = android.NewDepSet(android.POSTORDER, directLibs, transitiveLibs)
|
j.transitiveLibsHeaderJarsForR8 = android.NewDepSet(android.POSTORDER, directLibs, transitiveLibs)
|
||||||
j.transitiveStaticLibsHeaderJars = android.NewDepSet(android.POSTORDER, directStaticLibs, transitiveStaticLibs)
|
j.transitiveStaticLibsHeaderJarsForR8 = android.NewDepSet(android.POSTORDER, directStaticLibs, transitiveStaticLibs)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j *Module) HeaderJars() android.Paths {
|
func (j *Module) HeaderJars() android.Paths {
|
||||||
@@ -2306,7 +2302,7 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps {
|
|||||||
|
|
||||||
sdkLinkType, _ := j.getSdkLinkType(ctx, ctx.ModuleName())
|
sdkLinkType, _ := j.getSdkLinkType(ctx, ctx.ModuleName())
|
||||||
|
|
||||||
j.collectTransitiveHeaderJars(ctx)
|
j.collectTransitiveHeaderJarsForR8(ctx)
|
||||||
ctx.VisitDirectDeps(func(module android.Module) {
|
ctx.VisitDirectDeps(func(module android.Module) {
|
||||||
otherName := ctx.OtherModuleName(module)
|
otherName := ctx.OtherModuleName(module)
|
||||||
tag := ctx.OtherModuleDependencyTag(module)
|
tag := ctx.OtherModuleDependencyTag(module)
|
||||||
|
10
java/dex.go
10
java/dex.go
@@ -108,7 +108,7 @@ type dexer struct {
|
|||||||
resourcesInput android.OptionalPath
|
resourcesInput android.OptionalPath
|
||||||
resourcesOutput android.OptionalPath
|
resourcesOutput android.OptionalPath
|
||||||
|
|
||||||
providesTransitiveHeaderJars
|
providesTransitiveHeaderJarsForR8
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *dexer) effectiveOptimizeEnabled() bool {
|
func (d *dexer) effectiveOptimizeEnabled() bool {
|
||||||
@@ -307,14 +307,14 @@ func (d *dexer) r8Flags(ctx android.ModuleContext, dexParams *compileDexParams)
|
|||||||
r8Deps = append(r8Deps, flags.dexClasspath...)
|
r8Deps = append(r8Deps, flags.dexClasspath...)
|
||||||
|
|
||||||
transitiveStaticLibsLookupMap := map[android.Path]bool{}
|
transitiveStaticLibsLookupMap := map[android.Path]bool{}
|
||||||
if d.transitiveStaticLibsHeaderJars != nil {
|
if d.transitiveStaticLibsHeaderJarsForR8 != nil {
|
||||||
for _, jar := range d.transitiveStaticLibsHeaderJars.ToList() {
|
for _, jar := range d.transitiveStaticLibsHeaderJarsForR8.ToList() {
|
||||||
transitiveStaticLibsLookupMap[jar] = true
|
transitiveStaticLibsLookupMap[jar] = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
transitiveHeaderJars := android.Paths{}
|
transitiveHeaderJars := android.Paths{}
|
||||||
if d.transitiveLibsHeaderJars != nil {
|
if d.transitiveLibsHeaderJarsForR8 != nil {
|
||||||
for _, jar := range d.transitiveLibsHeaderJars.ToList() {
|
for _, jar := range d.transitiveLibsHeaderJarsForR8.ToList() {
|
||||||
if _, ok := transitiveStaticLibsLookupMap[jar]; ok {
|
if _, ok := transitiveStaticLibsLookupMap[jar]; ok {
|
||||||
// don't include a lib if it is already packaged in the current JAR as a static lib
|
// don't include a lib if it is already packaged in the current JAR as a static lib
|
||||||
continue
|
continue
|
||||||
|
22
java/java.go
22
java/java.go
@@ -259,10 +259,10 @@ type JavaInfo struct {
|
|||||||
RepackagedHeaderJars android.Paths
|
RepackagedHeaderJars android.Paths
|
||||||
|
|
||||||
// set of header jars for all transitive libs deps
|
// set of header jars for all transitive libs deps
|
||||||
TransitiveLibsHeaderJars *android.DepSet[android.Path]
|
TransitiveLibsHeaderJarsForR8 *android.DepSet[android.Path]
|
||||||
|
|
||||||
// set of header jars for all transitive static libs deps
|
// set of header jars for all transitive static libs deps
|
||||||
TransitiveStaticLibsHeaderJars *android.DepSet[android.Path]
|
TransitiveStaticLibsHeaderJarsForR8 *android.DepSet[android.Path]
|
||||||
|
|
||||||
// ImplementationAndResourceJars is a list of jars that contain the implementations of classes
|
// ImplementationAndResourceJars is a list of jars that contain the implementations of classes
|
||||||
// in the module as well as any resources included in the module.
|
// in the module as well as any resources included in the module.
|
||||||
@@ -2634,7 +2634,7 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
|
|
||||||
var flags javaBuilderFlags
|
var flags javaBuilderFlags
|
||||||
|
|
||||||
j.collectTransitiveHeaderJars(ctx)
|
j.collectTransitiveHeaderJarsForR8(ctx)
|
||||||
var staticJars android.Paths
|
var staticJars android.Paths
|
||||||
var staticResourceJars android.Paths
|
var staticResourceJars android.Paths
|
||||||
var staticHeaderJars android.Paths
|
var staticHeaderJars android.Paths
|
||||||
@@ -2817,14 +2817,14 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{
|
android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{
|
||||||
HeaderJars: android.PathsIfNonNil(j.combinedHeaderFile),
|
HeaderJars: android.PathsIfNonNil(j.combinedHeaderFile),
|
||||||
TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars,
|
TransitiveLibsHeaderJarsForR8: j.transitiveLibsHeaderJarsForR8,
|
||||||
TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars,
|
TransitiveStaticLibsHeaderJarsForR8: j.transitiveStaticLibsHeaderJarsForR8,
|
||||||
ImplementationAndResourcesJars: android.PathsIfNonNil(j.combinedImplementationFile),
|
ImplementationAndResourcesJars: android.PathsIfNonNil(j.combinedImplementationFile),
|
||||||
ImplementationJars: android.PathsIfNonNil(implementationJarFile.WithoutRel()),
|
ImplementationJars: android.PathsIfNonNil(implementationJarFile.WithoutRel()),
|
||||||
ResourceJars: android.PathsIfNonNil(resourceJarFile),
|
ResourceJars: android.PathsIfNonNil(resourceJarFile),
|
||||||
AidlIncludeDirs: j.exportAidlIncludeDirs,
|
AidlIncludeDirs: j.exportAidlIncludeDirs,
|
||||||
StubsLinkType: j.stubsLinkType,
|
StubsLinkType: j.stubsLinkType,
|
||||||
// TODO(b/289117800): LOCAL_ACONFIG_FILES for prebuilts
|
// TODO(b/289117800): LOCAL_ACONFIG_FILES for prebuilts
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user