Convert more stored WritablePaths to Paths
Similar to I40f28075ce151e4be80d6cfc7ec173dfa46f9bbf, convert more long-lived WritablePaths to Paths. Test: all soong tests pass Flag: EXEMPT refactor Change-Id: I9be448f811694fe0524fbbd7c5d4553cf69d533a
This commit is contained in:
14
java/aar.go
14
java/aar.go
@@ -1154,8 +1154,9 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
|
||||
if Bool(a.properties.Jetifier) {
|
||||
inputFile := a.aarPath
|
||||
a.aarPath = android.PathForModuleOut(ctx, "jetifier", aarName)
|
||||
TransformJetifier(ctx, a.aarPath.(android.WritablePath), inputFile)
|
||||
jetifierPath := android.PathForModuleOut(ctx, "jetifier", aarName)
|
||||
TransformJetifier(ctx, jetifierPath, inputFile)
|
||||
a.aarPath = jetifierPath
|
||||
}
|
||||
|
||||
jarName := ctx.ModuleName() + ".jar"
|
||||
@@ -1306,11 +1307,12 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
addMissingOptionalUsesLibsFromDep(ctx, module, &a.usesLibrary)
|
||||
})
|
||||
|
||||
var implementationJarFile android.OutputPath
|
||||
var implementationJarFile android.Path
|
||||
if len(staticJars) > 0 {
|
||||
combineJars := append(android.Paths{classpathFile}, staticJars...)
|
||||
implementationJarFile = android.PathForModuleOut(ctx, "combined", jarName).OutputPath
|
||||
TransformJarsToJar(ctx, implementationJarFile, "combine", combineJars, android.OptionalPath{}, false, nil, nil)
|
||||
combinedImplementationJar := android.PathForModuleOut(ctx, "combined", jarName).OutputPath
|
||||
TransformJarsToJar(ctx, combinedImplementationJar, "combine", combineJars, android.OptionalPath{}, false, nil, nil)
|
||||
implementationJarFile = combinedImplementationJar
|
||||
} else {
|
||||
implementationJarFile = classpathFile
|
||||
}
|
||||
@@ -1329,7 +1331,7 @@ func (a *AARImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
implementationAndResourcesJar := implementationJarFile
|
||||
if resourceJarFile != nil {
|
||||
jars := android.Paths{resourceJarFile, implementationAndResourcesJar}
|
||||
combinedJar := android.PathForModuleOut(ctx, "withres", jarName).OutputPath
|
||||
combinedJar := android.PathForModuleOut(ctx, "withres", jarName)
|
||||
TransformJarsToJar(ctx, combinedJar, "for resources", jars, android.OptionalPath{},
|
||||
false, nil, nil)
|
||||
implementationAndResourcesJar = combinedJar
|
||||
|
29
java/java.go
29
java/java.go
@@ -2664,43 +2664,46 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
|
||||
// Always pass the input jars to TransformJarsToJar, even if there is only a single jar, we need the output
|
||||
// file of the module to be named jarName.
|
||||
outputFile := android.PathForModuleOut(ctx, "combined", jarName)
|
||||
var outputFile android.Path
|
||||
combinedImplementationJar := android.PathForModuleOut(ctx, "combined", jarName)
|
||||
implementationJars := append(slices.Clone(jars), staticJars...)
|
||||
TransformJarsToJar(ctx, outputFile, "combine prebuilt implementation jars", implementationJars, android.OptionalPath{},
|
||||
TransformJarsToJar(ctx, combinedImplementationJar, "combine prebuilt implementation jars", implementationJars, android.OptionalPath{},
|
||||
false, j.properties.Exclude_files, j.properties.Exclude_dirs)
|
||||
outputFile = combinedImplementationJar
|
||||
|
||||
// If no dependencies have separate header jars then there is no need to create a separate
|
||||
// header jar for this module.
|
||||
reuseImplementationJarAsHeaderJar := slices.Equal(staticJars, staticHeaderJars)
|
||||
|
||||
var headerOutputFile android.ModuleOutPath
|
||||
var headerJar android.Path
|
||||
if reuseImplementationJarAsHeaderJar {
|
||||
headerOutputFile = outputFile
|
||||
headerJar = outputFile
|
||||
} else {
|
||||
headerJars := append(slices.Clone(jars), staticHeaderJars...)
|
||||
headerOutputFile = android.PathForModuleOut(ctx, "turbine-combined", jarName)
|
||||
headerOutputFile := android.PathForModuleOut(ctx, "turbine-combined", jarName)
|
||||
TransformJarsToJar(ctx, headerOutputFile, "combine prebuilt header jars", headerJars, android.OptionalPath{},
|
||||
false, j.properties.Exclude_files, j.properties.Exclude_dirs)
|
||||
headerJar = headerOutputFile
|
||||
}
|
||||
|
||||
if Bool(j.properties.Jetifier) {
|
||||
inputFile := outputFile
|
||||
outputFile = android.PathForModuleOut(ctx, "jetifier", jarName)
|
||||
TransformJetifier(ctx, outputFile, inputFile)
|
||||
jetifierOutputFile := android.PathForModuleOut(ctx, "jetifier", jarName)
|
||||
TransformJetifier(ctx, jetifierOutputFile, outputFile)
|
||||
outputFile = jetifierOutputFile
|
||||
|
||||
if !reuseImplementationJarAsHeaderJar {
|
||||
headerInputFile := headerOutputFile
|
||||
headerOutputFile = android.PathForModuleOut(ctx, "jetifier-headers", jarName)
|
||||
TransformJetifier(ctx, headerOutputFile, headerInputFile)
|
||||
jetifierHeaderJar := android.PathForModuleOut(ctx, "jetifier-headers", jarName)
|
||||
TransformJetifier(ctx, jetifierHeaderJar, headerJar)
|
||||
headerJar = jetifierHeaderJar
|
||||
} else {
|
||||
headerOutputFile = outputFile
|
||||
headerJar = outputFile
|
||||
}
|
||||
}
|
||||
|
||||
// Save the output file with no relative path so that it doesn't end up in a subdirectory when used as a resource.
|
||||
// Also strip the relative path from the header output file so that the reuseImplementationJarAsHeaderJar check
|
||||
// in a module that depends on this module considers them equal.
|
||||
j.combinedHeaderFile = headerOutputFile.WithoutRel()
|
||||
j.combinedHeaderFile = headerJar.WithoutRel()
|
||||
j.combinedImplementationFile = outputFile.WithoutRel()
|
||||
|
||||
j.maybeInstall(ctx, jarName, outputFile)
|
||||
|
Reference in New Issue
Block a user