Merge "Package coverage files as a zip."

am: 7268fd494d

Change-Id: Iac5315b45fa03a0b0c2d4abeb33f21bf93aa374a
This commit is contained in:
Oliver Nguyen 2019-06-11 19:21:57 -07:00 committed by android-build-merger
commit 85cefe661b
3 changed files with 22 additions and 7 deletions

View file

@ -392,7 +392,7 @@ func (binary *binaryDecorator) link(ctx ModuleContext,
objs.coverageFiles = append(objs.coverageFiles, deps.StaticLibObjs.coverageFiles...)
objs.coverageFiles = append(objs.coverageFiles, deps.WholeStaticLibObjs.coverageFiles...)
binary.coverageOutputFile = TransformCoverageFilesToLib(ctx, objs, builderFlags, binary.getStem(ctx))
binary.coverageOutputFile = TransformCoverageFilesToZip(ctx, objs, binary.getStem(ctx))
// Need to determine symlinks early since some targets (ie APEX) need this
// information but will not call 'install'

View file

@ -228,6 +228,14 @@ var (
blueprint.RuleParams{
Command: "gunzip -c $in > $out",
})
zip = pctx.AndroidStaticRule("zip",
blueprint.RuleParams{
Command: "cat $out.rsp | tr ' ' '\\n' | tr -d \\' | sort -u > ${out}.tmp && ${SoongZipCmd} -o ${out} -C $$OUT_DIR -l ${out}.tmp",
CommandDeps: []string{"${SoongZipCmd}"},
Rspfile: "$out.rsp",
RspfileContent: "$in",
})
)
func init() {
@ -240,6 +248,8 @@ func init() {
// Darwin doesn't have /proc
pctx.StaticVariable("relPwd", "")
}
pctx.HostBinToolVariable("SoongZipCmd", "soong_zip")
}
type builderFlags struct {
@ -883,13 +893,18 @@ func TransformDarwinStrip(ctx android.ModuleContext, inputFile android.Path,
})
}
func TransformCoverageFilesToLib(ctx android.ModuleContext,
inputs Objects, flags builderFlags, baseName string) android.OptionalPath {
func TransformCoverageFilesToZip(ctx android.ModuleContext,
inputs Objects, baseName string) android.OptionalPath {
if len(inputs.coverageFiles) > 0 {
outputFile := android.PathForModuleOut(ctx, baseName+".gcnodir")
outputFile := android.PathForModuleOut(ctx, baseName+".zip")
TransformObjToStaticLib(ctx, inputs.coverageFiles, flags, outputFile, nil)
ctx.Build(pctx, android.BuildParams{
Rule: zip,
Description: "zip " + outputFile.Base(),
Inputs: inputs.coverageFiles,
Output: outputFile,
})
return android.OptionalPathForPath(outputFile)
}

View file

@ -651,7 +651,7 @@ func (library *libraryDecorator) linkStatic(ctx ModuleContext,
TransformObjToStaticLib(ctx, library.objects.objFiles, builderFlags, outputFile, objs.tidyFiles)
library.coverageOutputFile = TransformCoverageFilesToLib(ctx, library.objects, builderFlags,
library.coverageOutputFile = TransformCoverageFilesToZip(ctx, library.objects,
ctx.ModuleName()+library.MutatedProperties.VariantName)
library.wholeStaticMissingDeps = ctx.GetMissingDependencies()
@ -771,7 +771,7 @@ func (library *libraryDecorator) linkShared(ctx ModuleContext,
objs.sAbiDumpFiles = append(objs.sAbiDumpFiles, deps.StaticLibObjs.sAbiDumpFiles...)
objs.sAbiDumpFiles = append(objs.sAbiDumpFiles, deps.WholeStaticLibObjs.sAbiDumpFiles...)
library.coverageOutputFile = TransformCoverageFilesToLib(ctx, objs, builderFlags, library.getLibName(ctx))
library.coverageOutputFile = TransformCoverageFilesToZip(ctx, objs, library.getLibName(ctx))
library.linkSAbiDumpFiles(ctx, objs, fileName, ret)
return ret