summaryrefslogtreecommitdiff
path: root/java/aar.go
diff options
context:
space:
mode:
Diffstat (limited to 'java/aar.go')
-rw-r--r--java/aar.go72
1 files changed, 32 insertions, 40 deletions
diff --git a/java/aar.go b/java/aar.go
index 7c63a29b3..976e4fcb1 100644
--- a/java/aar.go
+++ b/java/aar.go
@@ -217,7 +217,7 @@ func (p propagateRROEnforcementTransitionMutator) Mutate(ctx android.BottomUpMut
}
func (a *aapt) useResourceProcessorBusyBox(ctx android.BaseModuleContext) bool {
- return BoolDefault(a.aaptProperties.Use_resource_processor, ctx.Config().UseResourceProcessorByDefault()) &&
+ return BoolDefault(a.aaptProperties.Use_resource_processor, true) &&
// TODO(b/331641946): remove this when ResourceProcessorBusyBox supports generating shared libraries.
!slices.Contains(a.aaptProperties.Aaptflags, "--shared-lib") &&
// Use the legacy resource processor in kythe builds.
@@ -939,6 +939,12 @@ func aaptLibs(ctx android.ModuleContext, sdkContext android.SdkContext,
return staticResourcesNodes, sharedResourcesNodes, staticRRODirs, staticManifests, sharedLibs, flags
}
+type AndroidLibraryInfo struct {
+ // Empty for now
+}
+
+var AndroidLibraryInfoProvider = blueprint.NewProvider[AndroidLibraryInfo]()
+
type AndroidLibrary struct {
Library
aapt
@@ -1034,7 +1040,7 @@ func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext)
}
prebuiltJniPackages := android.Paths{}
- ctx.VisitDirectDeps(func(module android.Module) {
+ ctx.VisitDirectDepsProxy(func(module android.ModuleProxy) {
if info, ok := android.OtherModuleProvider(ctx, module, JniPackageProvider); ok {
prebuiltJniPackages = append(prebuiltJniPackages, info.JniPackages...)
}
@@ -1057,6 +1063,8 @@ func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext)
}
a.setOutputFiles(ctx)
+
+ buildComplianceMetadata(ctx)
}
func (a *AndroidLibrary) setOutputFiles(ctx android.ModuleContext) {
@@ -1449,7 +1457,7 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
var transitiveStaticLibsImplementationJars []depset.DepSet[android.Path]
var transitiveStaticLibsResourceJars []depset.DepSet[android.Path]
- ctx.VisitDirectDeps(func(module android.Module) {
+ ctx.VisitDirectDepsProxy(func(module android.ModuleProxy) {
if dep, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok {
tag := ctx.OtherModuleDependencyTag(module)
switch tag {
@@ -1471,12 +1479,7 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
completeStaticLibsResourceJars := depset.New(depset.PREORDER, nil, transitiveStaticLibsResourceJars)
var implementationJarFile android.Path
- var combineJars android.Paths
- if ctx.Config().UseTransitiveJarsInClasspath() {
- combineJars = completeStaticLibsImplementationJars.ToList()
- } else {
- combineJars = append(android.Paths{classpathFile}, staticJars...)
- }
+ combineJars := completeStaticLibsImplementationJars.ToList()
if len(combineJars) > 1 {
implementationJarOutputPath := android.PathForModuleOut(ctx, "combined", jarName)
@@ -1487,12 +1490,8 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
}
var resourceJarFile android.Path
- var resourceJars android.Paths
- if ctx.Config().UseTransitiveJarsInClasspath() {
- resourceJars = completeStaticLibsResourceJars.ToList()
- } else {
- resourceJars = staticResourceJars
- }
+ resourceJars := completeStaticLibsResourceJars.ToList()
+
if len(resourceJars) > 1 {
combinedJar := android.PathForModuleOut(ctx, "res-combined", jarName)
TransformJarsToJar(ctx, combinedJar, "for resources", resourceJars, android.OptionalPath{},
@@ -1503,12 +1502,8 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
}
// merge implementation jar with resources if necessary
- var implementationAndResourcesJars android.Paths
- if ctx.Config().UseTransitiveJarsInClasspath() {
- implementationAndResourcesJars = append(slices.Clone(resourceJars), combineJars...)
- } else {
- implementationAndResourcesJars = android.PathsIfNonNil(resourceJarFile, implementationJarFile)
- }
+ implementationAndResourcesJars := append(slices.Clone(resourceJars), combineJars...)
+
var implementationAndResourcesJar android.Path
if len(implementationAndResourcesJars) > 1 {
combinedJar := android.PathForModuleOut(ctx, "withres", jarName)
@@ -1523,12 +1518,7 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
// Save the output file with no relative path so that it doesn't end up in a subdirectory when used as a resource
a.implementationAndResourcesJarFile = implementationAndResourcesJar.WithoutRel()
- var headerJars android.Paths
- if ctx.Config().UseTransitiveJarsInClasspath() {
- headerJars = completeStaticLibsHeaderJars.ToList()
- } else {
- headerJars = append(android.Paths{classpathFile}, staticHeaderJars...)
- }
+ headerJars := completeStaticLibsHeaderJars.ToList()
if len(headerJars) > 1 {
headerJarFile := android.PathForModuleOut(ctx, "turbine-combined", jarName)
TransformJarsToJar(ctx, headerJarFile, "combine header jars", headerJars, android.OptionalPath{}, false, nil, nil)
@@ -1537,12 +1527,7 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
a.headerJarFile = headerJars[0]
}
- if ctx.Config().UseTransitiveJarsInClasspath() {
- ctx.CheckbuildFile(classpathFile)
- } else {
- ctx.CheckbuildFile(a.headerJarFile)
- ctx.CheckbuildFile(a.implementationJarFile)
- }
+ ctx.CheckbuildFile(classpathFile)
javaInfo := &JavaInfo{
HeaderJars: android.PathsIfNonNil(a.headerJarFile),
@@ -1586,10 +1571,10 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
JniPackages: a.jniPackages,
})
- android.SetProvider(ctx, AndroidLibraryInfoProvider, AndroidLibraryInfo{})
-
ctx.SetOutputFiles([]android.Path{a.implementationAndResourcesJarFile}, "")
ctx.SetOutputFiles([]android.Path{a.aarPath}, ".aar")
+
+ buildComplianceMetadata(ctx)
}
func (a *AARImport) HeaderJars() android.Paths {
@@ -1617,14 +1602,21 @@ var _ UsesLibraryDependency = (*AARImport)(nil)
var _ android.ApexModule = (*AARImport)(nil)
// Implements android.ApexModule
-func (a *AARImport) OutgoingDepIsInSameApex(tag blueprint.DependencyTag) bool {
- return a.depIsInSameApex(tag)
+func (m *AARImport) GetDepInSameApexChecker() android.DepInSameApexChecker {
+ return AARImportDepInSameApexChecker{}
+}
+
+type AARImportDepInSameApexChecker struct {
+ android.BaseDepInSameApexChecker
+}
+
+func (m AARImportDepInSameApexChecker) OutgoingDepIsInSameApex(tag blueprint.DependencyTag) bool {
+ return depIsInSameApex(tag)
}
// Implements android.ApexModule
-func (a *AARImport) ShouldSupportSdkVersion(ctx android.BaseModuleContext,
- sdkVersion android.ApiLevel) error {
- return nil
+func (a *AARImport) MinSdkVersionSupported(ctx android.BaseModuleContext) android.ApiLevel {
+ return android.MinApiLevel
}
var _ android.PrebuiltInterface = (*AARImport)(nil)