Don't write transitive dependencies to Android-${TARGET_PRODUCT}.mk
Java libraries were writing lists of files that changed whenever transitive dependencies changed to Android-${TARGET_PRODUCT}.mk, causing Kati analysis to rerun whenever a dependency was changed in Soong. In both cases, Make would immediately use the list to write a single output file. Write the files in Soong and pass the path to the file to Make instead, which will both reduce the size of Android-${TARGET_PRODUCT}.mk and skip Kati analysis more often. Bug: 309006256 Test: m checkbuild Change-Id: I5dff16c6fb7cca8c6da927b37c612c7b1d0954e6
This commit is contained in:
10
java/java.go
10
java/java.go
@@ -639,7 +639,7 @@ func normalizeJavaVersion(ctx android.BaseModuleContext, javaVersion string) jav
|
||||
type Library struct {
|
||||
Module
|
||||
|
||||
exportedProguardFlagFiles android.Paths
|
||||
combinedExportedProguardFlagsFile android.Path
|
||||
|
||||
InstallMixin func(ctx android.ModuleContext, installPath android.Path) (extraInstallDeps android.InstallPaths)
|
||||
}
|
||||
@@ -700,8 +700,12 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
|
||||
proguardSpecInfo := j.collectProguardSpecInfo(ctx)
|
||||
ctx.SetProvider(ProguardSpecInfoProvider, proguardSpecInfo)
|
||||
j.exportedProguardFlagFiles = proguardSpecInfo.ProguardFlagsFiles.ToList()
|
||||
j.extraProguardFlagFiles = append(j.extraProguardFlagFiles, j.exportedProguardFlagFiles...)
|
||||
exportedProguardFlagsFiles := proguardSpecInfo.ProguardFlagsFiles.ToList()
|
||||
j.extraProguardFlagsFiles = append(j.extraProguardFlagsFiles, exportedProguardFlagsFiles...)
|
||||
|
||||
combinedExportedProguardFlagFile := android.PathForModuleOut(ctx, "export_proguard_flags")
|
||||
writeCombinedProguardFlagsFile(ctx, combinedExportedProguardFlagFile, exportedProguardFlagsFiles)
|
||||
j.combinedExportedProguardFlagsFile = combinedExportedProguardFlagFile
|
||||
|
||||
apexInfo := ctx.Provider(android.ApexInfoProvider).(android.ApexInfo)
|
||||
if !apexInfo.IsForPlatform() {
|
||||
|
Reference in New Issue
Block a user