Merge "Package coverage files as a zip."
This commit is contained in:
commit
7268fd494d
|
@ -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'
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue