Loading java/aar.go +9 −9 Original line number Diff line number Diff line Loading @@ -993,7 +993,7 @@ type AARImport struct { // Functionality common to Module and Import. embeddableInModuleAndImport providesTransitiveHeaderJars providesTransitiveHeaderJarsForR8 properties AARImportProperties Loading Loading @@ -1290,7 +1290,7 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { android.WriteFileRule(ctx, transitiveAaptResourcePackagesFile, strings.Join(transitiveAaptResourcePackages, "\n")) a.transitiveAaptResourcePackagesFile = transitiveAaptResourcePackagesFile a.collectTransitiveHeaderJars(ctx) a.collectTransitiveHeaderJarsForR8(ctx) a.classLoaderContexts = a.usesLibrary.classLoaderContextForUsesLibDeps(ctx) Loading Loading @@ -1360,8 +1360,8 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(a.headerJarFile), ResourceJars: android.PathsIfNonNil(resourceJarFile), TransitiveLibsHeaderJars: a.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: a.transitiveStaticLibsHeaderJars, TransitiveLibsHeaderJarsForR8: a.transitiveLibsHeaderJarsForR8, TransitiveStaticLibsHeaderJarsForR8: a.transitiveStaticLibsHeaderJarsForR8, ImplementationAndResourcesJars: android.PathsIfNonNil(a.implementationAndResourcesJarFile), ImplementationJars: android.PathsIfNonNil(a.implementationJarFile), StubsLinkType: Implementation, Loading java/base.go +19 −23 Original line number Diff line number Diff line Loading @@ -1288,8 +1288,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.headerJarFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars, TransitiveLibsHeaderJarsForR8: j.transitiveLibsHeaderJarsForR8, TransitiveStaticLibsHeaderJarsForR8: j.transitiveStaticLibsHeaderJarsForR8, AidlIncludeDirs: j.exportAidlIncludeDirs, ExportedPlugins: j.exportedPluginJars, ExportedPluginClasses: j.exportedPluginClasses, Loading Loading @@ -1817,8 +1817,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.headerJarFile), RepackagedHeaderJars: android.PathsIfNonNil(j.repackagedHeaderJarFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars, TransitiveLibsHeaderJarsForR8: j.transitiveLibsHeaderJarsForR8, TransitiveStaticLibsHeaderJarsForR8: j.transitiveStaticLibsHeaderJarsForR8, ImplementationAndResourcesJars: android.PathsIfNonNil(j.implementationAndResourcesJar), ImplementationJars: android.PathsIfNonNil(j.implementationJarFile), ResourceJars: android.PathsIfNonNil(j.resourceJar), Loading Loading @@ -1998,22 +1998,18 @@ func (j *Module) instrument(ctx android.ModuleContext, flags javaBuilderFlags, return instrumentedJar } type providesTransitiveHeaderJars struct { type providesTransitiveHeaderJarsForR8 struct { // 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 transitiveStaticLibsHeaderJars *android.DepSet[android.Path] transitiveStaticLibsHeaderJarsForR8 *android.DepSet[android.Path] } func (j *providesTransitiveHeaderJars) TransitiveLibsHeaderJars() *android.DepSet[android.Path] { return j.transitiveLibsHeaderJars } func (j *providesTransitiveHeaderJars) TransitiveStaticLibsHeaderJars() *android.DepSet[android.Path] { return j.transitiveStaticLibsHeaderJars } func (j *providesTransitiveHeaderJars) collectTransitiveHeaderJars(ctx android.ModuleContext) { // collectTransitiveHeaderJarsForR8 visits direct dependencies and collects all transitive libs and static_libs // 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 *providesTransitiveHeaderJarsForR8) collectTransitiveHeaderJarsForR8(ctx android.ModuleContext) { directLibs := android.Paths{} directStaticLibs := android.Paths{} transitiveLibs := []*android.DepSet[android.Path]{} Loading @@ -2036,16 +2032,16 @@ func (j *providesTransitiveHeaderJars) collectTransitiveHeaderJars(ctx android.M return } if dep.TransitiveLibsHeaderJars != nil { transitiveLibs = append(transitiveLibs, dep.TransitiveLibsHeaderJars) if dep.TransitiveLibsHeaderJarsForR8 != nil { transitiveLibs = append(transitiveLibs, dep.TransitiveLibsHeaderJarsForR8) } if dep.TransitiveStaticLibsHeaderJars != nil { transitiveStaticLibs = append(transitiveStaticLibs, dep.TransitiveStaticLibsHeaderJars) if dep.TransitiveStaticLibsHeaderJarsForR8 != nil { transitiveStaticLibs = append(transitiveStaticLibs, dep.TransitiveStaticLibsHeaderJarsForR8) } } }) j.transitiveLibsHeaderJars = android.NewDepSet(android.POSTORDER, directLibs, transitiveLibs) j.transitiveStaticLibsHeaderJars = android.NewDepSet(android.POSTORDER, directStaticLibs, transitiveStaticLibs) j.transitiveLibsHeaderJarsForR8 = android.NewDepSet(android.POSTORDER, directLibs, transitiveLibs) j.transitiveStaticLibsHeaderJarsForR8 = android.NewDepSet(android.POSTORDER, directStaticLibs, transitiveStaticLibs) } func (j *Module) HeaderJars() android.Paths { Loading Loading @@ -2311,7 +2307,7 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps { sdkLinkType, _ := j.getSdkLinkType(ctx, ctx.ModuleName()) j.collectTransitiveHeaderJars(ctx) j.collectTransitiveHeaderJarsForR8(ctx) ctx.VisitDirectDeps(func(module android.Module) { otherName := ctx.OtherModuleName(module) tag := ctx.OtherModuleDependencyTag(module) Loading java/dex.go +5 −5 Original line number Diff line number Diff line Loading @@ -108,7 +108,7 @@ type dexer struct { resourcesInput android.OptionalPath resourcesOutput android.OptionalPath providesTransitiveHeaderJars providesTransitiveHeaderJarsForR8 } func (d *dexer) effectiveOptimizeEnabled() bool { Loading Loading @@ -307,14 +307,14 @@ func (d *dexer) r8Flags(ctx android.ModuleContext, dexParams *compileDexParams) r8Deps = append(r8Deps, flags.dexClasspath...) transitiveStaticLibsLookupMap := map[android.Path]bool{} if d.transitiveStaticLibsHeaderJars != nil { for _, jar := range d.transitiveStaticLibsHeaderJars.ToList() { if d.transitiveStaticLibsHeaderJarsForR8 != nil { for _, jar := range d.transitiveStaticLibsHeaderJarsForR8.ToList() { transitiveStaticLibsLookupMap[jar] = true } } transitiveHeaderJars := android.Paths{} if d.transitiveLibsHeaderJars != nil { for _, jar := range d.transitiveLibsHeaderJars.ToList() { if d.transitiveLibsHeaderJarsForR8 != nil { for _, jar := range d.transitiveLibsHeaderJarsForR8.ToList() { if _, ok := transitiveStaticLibsLookupMap[jar]; ok { // don't include a lib if it is already packaged in the current JAR as a static lib continue Loading java/java.go +11 −11 Original line number Diff line number Diff line Loading @@ -259,10 +259,10 @@ type JavaInfo struct { RepackagedHeaderJars android.Paths // 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 TransitiveStaticLibsHeaderJars *android.DepSet[android.Path] TransitiveStaticLibsHeaderJarsForR8 *android.DepSet[android.Path] // ImplementationAndResourceJars is a list of jars that contain the implementations of classes // in the module as well as any resources included in the module. Loading Loading @@ -2634,7 +2634,7 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { var flags javaBuilderFlags j.collectTransitiveHeaderJars(ctx) j.collectTransitiveHeaderJarsForR8(ctx) var staticJars android.Paths var staticResourceJars android.Paths var staticHeaderJars android.Paths Loading Loading @@ -2818,8 +2818,8 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.combinedHeaderFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars, TransitiveLibsHeaderJarsForR8: j.transitiveLibsHeaderJarsForR8, TransitiveStaticLibsHeaderJarsForR8: j.transitiveStaticLibsHeaderJarsForR8, ImplementationAndResourcesJars: android.PathsIfNonNil(j.combinedImplementationFile), ImplementationJars: android.PathsIfNonNil(implementationJarFile.WithoutRel()), ResourceJars: android.PathsIfNonNil(resourceJarFile), Loading Loading
java/aar.go +9 −9 Original line number Diff line number Diff line Loading @@ -993,7 +993,7 @@ type AARImport struct { // Functionality common to Module and Import. embeddableInModuleAndImport providesTransitiveHeaderJars providesTransitiveHeaderJarsForR8 properties AARImportProperties Loading Loading @@ -1290,7 +1290,7 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { android.WriteFileRule(ctx, transitiveAaptResourcePackagesFile, strings.Join(transitiveAaptResourcePackages, "\n")) a.transitiveAaptResourcePackagesFile = transitiveAaptResourcePackagesFile a.collectTransitiveHeaderJars(ctx) a.collectTransitiveHeaderJarsForR8(ctx) a.classLoaderContexts = a.usesLibrary.classLoaderContextForUsesLibDeps(ctx) Loading Loading @@ -1360,8 +1360,8 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(a.headerJarFile), ResourceJars: android.PathsIfNonNil(resourceJarFile), TransitiveLibsHeaderJars: a.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: a.transitiveStaticLibsHeaderJars, TransitiveLibsHeaderJarsForR8: a.transitiveLibsHeaderJarsForR8, TransitiveStaticLibsHeaderJarsForR8: a.transitiveStaticLibsHeaderJarsForR8, ImplementationAndResourcesJars: android.PathsIfNonNil(a.implementationAndResourcesJarFile), ImplementationJars: android.PathsIfNonNil(a.implementationJarFile), StubsLinkType: Implementation, Loading
java/base.go +19 −23 Original line number Diff line number Diff line Loading @@ -1288,8 +1288,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.headerJarFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars, TransitiveLibsHeaderJarsForR8: j.transitiveLibsHeaderJarsForR8, TransitiveStaticLibsHeaderJarsForR8: j.transitiveStaticLibsHeaderJarsForR8, AidlIncludeDirs: j.exportAidlIncludeDirs, ExportedPlugins: j.exportedPluginJars, ExportedPluginClasses: j.exportedPluginClasses, Loading Loading @@ -1817,8 +1817,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.headerJarFile), RepackagedHeaderJars: android.PathsIfNonNil(j.repackagedHeaderJarFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars, TransitiveLibsHeaderJarsForR8: j.transitiveLibsHeaderJarsForR8, TransitiveStaticLibsHeaderJarsForR8: j.transitiveStaticLibsHeaderJarsForR8, ImplementationAndResourcesJars: android.PathsIfNonNil(j.implementationAndResourcesJar), ImplementationJars: android.PathsIfNonNil(j.implementationJarFile), ResourceJars: android.PathsIfNonNil(j.resourceJar), Loading Loading @@ -1998,22 +1998,18 @@ func (j *Module) instrument(ctx android.ModuleContext, flags javaBuilderFlags, return instrumentedJar } type providesTransitiveHeaderJars struct { type providesTransitiveHeaderJarsForR8 struct { // 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 transitiveStaticLibsHeaderJars *android.DepSet[android.Path] transitiveStaticLibsHeaderJarsForR8 *android.DepSet[android.Path] } func (j *providesTransitiveHeaderJars) TransitiveLibsHeaderJars() *android.DepSet[android.Path] { return j.transitiveLibsHeaderJars } func (j *providesTransitiveHeaderJars) TransitiveStaticLibsHeaderJars() *android.DepSet[android.Path] { return j.transitiveStaticLibsHeaderJars } func (j *providesTransitiveHeaderJars) collectTransitiveHeaderJars(ctx android.ModuleContext) { // collectTransitiveHeaderJarsForR8 visits direct dependencies and collects all transitive libs and static_libs // 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 *providesTransitiveHeaderJarsForR8) collectTransitiveHeaderJarsForR8(ctx android.ModuleContext) { directLibs := android.Paths{} directStaticLibs := android.Paths{} transitiveLibs := []*android.DepSet[android.Path]{} Loading @@ -2036,16 +2032,16 @@ func (j *providesTransitiveHeaderJars) collectTransitiveHeaderJars(ctx android.M return } if dep.TransitiveLibsHeaderJars != nil { transitiveLibs = append(transitiveLibs, dep.TransitiveLibsHeaderJars) if dep.TransitiveLibsHeaderJarsForR8 != nil { transitiveLibs = append(transitiveLibs, dep.TransitiveLibsHeaderJarsForR8) } if dep.TransitiveStaticLibsHeaderJars != nil { transitiveStaticLibs = append(transitiveStaticLibs, dep.TransitiveStaticLibsHeaderJars) if dep.TransitiveStaticLibsHeaderJarsForR8 != nil { transitiveStaticLibs = append(transitiveStaticLibs, dep.TransitiveStaticLibsHeaderJarsForR8) } } }) j.transitiveLibsHeaderJars = android.NewDepSet(android.POSTORDER, directLibs, transitiveLibs) j.transitiveStaticLibsHeaderJars = android.NewDepSet(android.POSTORDER, directStaticLibs, transitiveStaticLibs) j.transitiveLibsHeaderJarsForR8 = android.NewDepSet(android.POSTORDER, directLibs, transitiveLibs) j.transitiveStaticLibsHeaderJarsForR8 = android.NewDepSet(android.POSTORDER, directStaticLibs, transitiveStaticLibs) } func (j *Module) HeaderJars() android.Paths { Loading Loading @@ -2311,7 +2307,7 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps { sdkLinkType, _ := j.getSdkLinkType(ctx, ctx.ModuleName()) j.collectTransitiveHeaderJars(ctx) j.collectTransitiveHeaderJarsForR8(ctx) ctx.VisitDirectDeps(func(module android.Module) { otherName := ctx.OtherModuleName(module) tag := ctx.OtherModuleDependencyTag(module) Loading
java/dex.go +5 −5 Original line number Diff line number Diff line Loading @@ -108,7 +108,7 @@ type dexer struct { resourcesInput android.OptionalPath resourcesOutput android.OptionalPath providesTransitiveHeaderJars providesTransitiveHeaderJarsForR8 } func (d *dexer) effectiveOptimizeEnabled() bool { Loading Loading @@ -307,14 +307,14 @@ func (d *dexer) r8Flags(ctx android.ModuleContext, dexParams *compileDexParams) r8Deps = append(r8Deps, flags.dexClasspath...) transitiveStaticLibsLookupMap := map[android.Path]bool{} if d.transitiveStaticLibsHeaderJars != nil { for _, jar := range d.transitiveStaticLibsHeaderJars.ToList() { if d.transitiveStaticLibsHeaderJarsForR8 != nil { for _, jar := range d.transitiveStaticLibsHeaderJarsForR8.ToList() { transitiveStaticLibsLookupMap[jar] = true } } transitiveHeaderJars := android.Paths{} if d.transitiveLibsHeaderJars != nil { for _, jar := range d.transitiveLibsHeaderJars.ToList() { if d.transitiveLibsHeaderJarsForR8 != nil { for _, jar := range d.transitiveLibsHeaderJarsForR8.ToList() { if _, ok := transitiveStaticLibsLookupMap[jar]; ok { // don't include a lib if it is already packaged in the current JAR as a static lib continue Loading
java/java.go +11 −11 Original line number Diff line number Diff line Loading @@ -259,10 +259,10 @@ type JavaInfo struct { RepackagedHeaderJars android.Paths // 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 TransitiveStaticLibsHeaderJars *android.DepSet[android.Path] TransitiveStaticLibsHeaderJarsForR8 *android.DepSet[android.Path] // ImplementationAndResourceJars is a list of jars that contain the implementations of classes // in the module as well as any resources included in the module. Loading Loading @@ -2634,7 +2634,7 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { var flags javaBuilderFlags j.collectTransitiveHeaderJars(ctx) j.collectTransitiveHeaderJarsForR8(ctx) var staticJars android.Paths var staticResourceJars android.Paths var staticHeaderJars android.Paths Loading Loading @@ -2818,8 +2818,8 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { android.SetProvider(ctx, JavaInfoProvider, &JavaInfo{ HeaderJars: android.PathsIfNonNil(j.combinedHeaderFile), TransitiveLibsHeaderJars: j.transitiveLibsHeaderJars, TransitiveStaticLibsHeaderJars: j.transitiveStaticLibsHeaderJars, TransitiveLibsHeaderJarsForR8: j.transitiveLibsHeaderJarsForR8, TransitiveStaticLibsHeaderJarsForR8: j.transitiveStaticLibsHeaderJarsForR8, ImplementationAndResourcesJars: android.PathsIfNonNil(j.combinedImplementationFile), ImplementationJars: android.PathsIfNonNil(implementationJarFile.WithoutRel()), ResourceJars: android.PathsIfNonNil(resourceJarFile), Loading