From 0af4e6728a4fe499c182c305ccb06c4951c03968 Mon Sep 17 00:00:00 2001 From: Hsin-Yi Chen Date: Wed, 23 Nov 2022 14:39:46 +0800 Subject: [PATCH] Deprecate ABI reference dumps in gzip ABI dumps in gzip are no longer supported because they cannot be reviewed or merged. Bug: 227282691 Test: make Change-Id: I9fdf943fb8ae30aeae884d4d361a65034ab6fa94 --- cc/builder.go | 18 ------------------ cc/library.go | 42 +++++++----------------------------------- 2 files changed, 7 insertions(+), 53 deletions(-) diff --git a/cc/builder.go b/cc/builder.go index cf20923d0..0629406c2 100644 --- a/cc/builder.go +++ b/cc/builder.go @@ -292,12 +292,6 @@ var ( }, "extraFlags", "referenceDump", "libName", "arch", "errorMessage") - // Rule to unzip a reference abi dump. - unzipRefSAbiDump = pctx.AndroidStaticRule("unzipRefSAbiDump", - blueprint.RuleParams{ - Command: "gunzip -c $in > $out", - }) - // Rule to zip files. zip = pctx.AndroidStaticRule("zip", blueprint.RuleParams{ @@ -911,18 +905,6 @@ func transformDumpToLinkedDump(ctx android.ModuleContext, sAbiDumps android.Path return android.OptionalPathForPath(outputFile) } -// unzipRefDump registers a build statement to unzip a reference abi dump. -func unzipRefDump(ctx android.ModuleContext, zippedRefDump android.Path, baseName string) android.Path { - outputFile := android.PathForModuleOut(ctx, baseName+"_ref.lsdump") - ctx.Build(pctx, android.BuildParams{ - Rule: unzipRefSAbiDump, - Description: "gunzip" + outputFile.Base(), - Output: outputFile, - Input: zippedRefDump, - }) - return outputFile -} - func transformAbiDumpToAbiDiff(ctx android.ModuleContext, inputDump, referenceDump android.Path, baseName, nameExt string, extraFlags []string, errorMessage string) android.Path { diff --git a/cc/library.go b/cc/library.go index 527f92023..5ac39466a 100644 --- a/cc/library.go +++ b/cc/library.go @@ -1793,10 +1793,8 @@ func (library *libraryDecorator) coverageOutputFilePath() android.OptionalPath { return library.coverageOutputFile } -// pathForRefAbiDump returns an OptionalPath representing the path of the -// reference abi dump for the given module. This is not guaranteed to be valid. -func pathForRefAbiDump(ctx android.ModuleInstallPathContext, - versionedDumpDir, fileName string, isGzip bool) android.OptionalPath { +func getRefAbiDumpFile(ctx android.ModuleInstallPathContext, + versionedDumpDir, fileName string) android.OptionalPath { currentArchType := ctx.Arch().ArchType primaryArchType := ctx.Config().DevicePrimaryArchType() @@ -1805,15 +1803,8 @@ func pathForRefAbiDump(ctx android.ModuleInstallPathContext, archName += "_" + primaryArchType.String() } - var ext string - if isGzip { - ext = ".lsdump.gz" - } else { - ext = ".lsdump" - } - return android.ExistentPathForSource(ctx, versionedDumpDir, archName, "source-based", - fileName+ext) + fileName+".lsdump") } func getRefAbiDumpDir(isNdk, isVndk bool) string { @@ -1828,25 +1819,6 @@ func getRefAbiDumpDir(isNdk, isVndk bool) string { return filepath.Join("prebuilts", "abi-dumps", dirName) } -func getRefAbiDumpFile(ctx ModuleContext, versionedDumpDir, fileName string) android.Path { - refAbiDumpTextFile := pathForRefAbiDump(ctx, versionedDumpDir, fileName, /* isGzip */ false) - refAbiDumpGzipFile := pathForRefAbiDump(ctx, versionedDumpDir, fileName, /* isGzip */ true) - - if refAbiDumpTextFile.Valid() { - if refAbiDumpGzipFile.Valid() { - ctx.ModuleErrorf( - "Two reference ABI dump files are found: %q and %q. Please delete the stale one.", - refAbiDumpTextFile, refAbiDumpGzipFile) - return nil - } - return refAbiDumpTextFile.Path() - } - if refAbiDumpGzipFile.Valid() { - return unzipRefDump(ctx, refAbiDumpGzipFile.Path(), fileName) - } - return nil -} - func prevRefAbiDumpVersion(ctx ModuleContext, dumpDir string) int { sdkVersionInt := ctx.Config().PlatformSdkVersion().FinalInt() sdkVersionStr := ctx.Config().PlatformSdkVersion().String() @@ -1957,8 +1929,8 @@ func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objec prevVersion := strconv.Itoa(prevVersionInt) prevDumpDir := filepath.Join(dumpDir, prevVersion, binderBitness) prevDumpFile := getRefAbiDumpFile(ctx, prevDumpDir, fileName) - if prevDumpFile != nil { - library.crossVersionAbiDiff(ctx, prevDumpFile, + if prevDumpFile.Valid() { + library.crossVersionAbiDiff(ctx, prevDumpFile.Path(), fileName, isLlndk || isNdk, strconv.Itoa(prevVersionInt+1), prevVersion) } @@ -1967,8 +1939,8 @@ func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objec currVersion := currRefAbiDumpVersion(ctx, isVndk) currDumpDir := filepath.Join(dumpDir, currVersion, binderBitness) currDumpFile := getRefAbiDumpFile(ctx, currDumpDir, fileName) - if currDumpFile != nil { - library.sameVersionAbiDiff(ctx, currDumpFile, + if currDumpFile.Valid() { + library.sameVersionAbiDiff(ctx, currDumpFile.Path(), fileName, isLlndk || isNdk, ctx.IsVndkExt()) } }