diff options
author | 2024-08-07 20:48:50 +0000 | |
---|---|---|
committer | 2024-08-07 20:48:50 +0000 | |
commit | d40aac13401a7826c31f50598bd1703ef3c75e67 (patch) | |
tree | dd48a01f7b11fd1f826f861b422a5ac82f10e581 /java/aar.go | |
parent | d6358b6a9b0b89ababf2bc24b3db3f6a77440ccd (diff) | |
parent | 7707b246efe17400aa27e843a507232bd02efd66 (diff) |
Merge "Don't hold on to WritablePath" into main
Diffstat (limited to 'java/aar.go')
-rw-r--r-- | java/aar.go | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/java/aar.go b/java/aar.go index 5c8287260..93ff7dd97 100644 --- a/java/aar.go +++ b/java/aar.go @@ -995,17 +995,17 @@ type AARImport struct { properties AARImportProperties - headerJarFile android.WritablePath - implementationJarFile android.WritablePath - implementationAndResourcesJarFile android.WritablePath - proguardFlags android.WritablePath - exportPackage android.WritablePath + headerJarFile android.Path + implementationJarFile android.Path + implementationAndResourcesJarFile android.Path + proguardFlags android.Path + exportPackage android.Path transitiveAaptResourcePackagesFile android.Path - extraAaptPackagesFile android.WritablePath + extraAaptPackagesFile android.Path manifest android.Path - assetsPackage android.WritablePath - rTxt android.WritablePath - rJar android.WritablePath + assetsPackage android.Path + rTxt android.Path + rJar android.Path resourcesNodesDepSet *android.DepSet[*resourcesNode] manifestsDepSet *android.DepSet[android.Path] @@ -1170,14 +1170,14 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { a.manifest = extractedManifest } - a.rTxt = extractedAARDir.Join(ctx, "R.txt") - a.assetsPackage = android.PathForModuleOut(ctx, "assets.zip") - a.proguardFlags = extractedAARDir.Join(ctx, "proguard.txt") + rTxt := extractedAARDir.Join(ctx, "R.txt") + assetsPackage := android.PathForModuleOut(ctx, "assets.zip") + proguardFlags := extractedAARDir.Join(ctx, "proguard.txt") transitiveProguardFlags, transitiveUnconditionalExportedFlags := collectDepProguardSpecInfo(ctx) android.SetProvider(ctx, ProguardSpecInfoProvider, ProguardSpecInfo{ ProguardFlagsFiles: android.NewDepSet[android.Path]( android.POSTORDER, - android.Paths{a.proguardFlags}, + android.Paths{proguardFlags}, transitiveProguardFlags, ), UnconditionallyExportedProguardFlags: android.NewDepSet[android.Path]( @@ -1190,15 +1190,19 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { ctx.Build(pctx, android.BuildParams{ Rule: unzipAAR, Input: a.aarPath, - Outputs: android.WritablePaths{classpathFile, a.proguardFlags, extractedManifest, a.assetsPackage, a.rTxt}, + Outputs: android.WritablePaths{classpathFile, proguardFlags, extractedManifest, assetsPackage, rTxt}, Description: "unzip AAR", Args: map[string]string{ "outDir": extractedAARDir.String(), "combinedClassesJar": classpathFile.String(), - "assetsPackage": a.assetsPackage.String(), + "assetsPackage": assetsPackage.String(), }, }) + a.proguardFlags = proguardFlags + a.assetsPackage = assetsPackage + a.rTxt = rTxt + // Always set --pseudo-localize, it will be stripped out later for release // builds that don't want it. compileFlags := []string{"--pseudo-localize"} @@ -1206,10 +1210,10 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { flata := compiledResDir.Join(ctx, "gen_res.flata") aapt2CompileZip(ctx, flata, a.aarPath, "res", compileFlags) - a.exportPackage = android.PathForModuleOut(ctx, "package-res.apk") + exportPackage := android.PathForModuleOut(ctx, "package-res.apk") proguardOptionsFile := android.PathForModuleGen(ctx, "proguard.options") aaptRTxt := android.PathForModuleOut(ctx, "R.txt") - a.extraAaptPackagesFile = android.PathForModuleOut(ctx, "extra_packages") + extraAaptPackagesFile := android.PathForModuleOut(ctx, "extra_packages") var linkDeps android.Paths @@ -1245,13 +1249,16 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { } transitiveAssets := android.ReverseSliceInPlace(staticDeps.assets()) - aapt2Link(ctx, a.exportPackage, nil, proguardOptionsFile, aaptRTxt, + aapt2Link(ctx, exportPackage, nil, proguardOptionsFile, aaptRTxt, linkFlags, linkDeps, nil, overlayRes, transitiveAssets, nil, nil) + a.exportPackage = exportPackage - a.rJar = android.PathForModuleOut(ctx, "busybox/R.jar") - resourceProcessorBusyBoxGenerateBinaryR(ctx, a.rTxt, a.manifest, a.rJar, nil, true, nil, false) + rJar := android.PathForModuleOut(ctx, "busybox/R.jar") + resourceProcessorBusyBoxGenerateBinaryR(ctx, a.rTxt, a.manifest, rJar, nil, true, nil, false) + a.rJar = rJar - aapt2ExtractExtraPackages(ctx, a.extraAaptPackagesFile, a.rJar) + aapt2ExtractExtraPackages(ctx, extraAaptPackagesFile, a.rJar) + a.extraAaptPackagesFile = extraAaptPackagesFile resourcesNodesDepSetBuilder := android.NewDepSetBuilder[*resourcesNode](android.TOPOLOGICAL) resourcesNodesDepSetBuilder.Direct(&resourcesNode{ @@ -1334,8 +1341,9 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) { if len(staticHeaderJars) > 0 { combineJars := append(android.Paths{classpathFile}, staticHeaderJars...) - a.headerJarFile = android.PathForModuleOut(ctx, "turbine-combined", jarName) - TransformJarsToJar(ctx, a.headerJarFile, "combine header jars", combineJars, android.OptionalPath{}, false, nil, nil) + headerJarFile := android.PathForModuleOut(ctx, "turbine-combined", jarName) + TransformJarsToJar(ctx, headerJarFile, "combine header jars", combineJars, android.OptionalPath{}, false, nil, nil) + a.headerJarFile = headerJarFile } else { a.headerJarFile = classpathFile } |