aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Nguyen <olivernguyen@google.com>2019-04-24 14:22:25 -0700
committerOliver Nguyen <olivernguyen@google.com>2020-02-03 19:00:22 +0000
commitbaa54c6ed830a7cd1cb7fe5405c7a33b65c9a2cc (patch)
tree9d3cc6548d3d0a8a085c0e62b9cc2f27a8505f9e
parentcba45b28925b2fb3ebbd9e281a185de0d2b8b0c7 (diff)
downloadbuild_soong-baa54c6ed830a7cd1cb7fe5405c7a33b65c9a2cc.tar.gz
build_soong-baa54c6ed830a7cd1cb7fe5405c7a33b65c9a2cc.tar.bz2
build_soong-baa54c6ed830a7cd1cb7fe5405c7a33b65c9a2cc.zip
Package coverage files as a zip.
Bug: 148178774 Test: make NATIVE_COVERAGE=true COVERAGE_PATHS="*" Change-Id: I955212a20ea19c854ebc88635252a1d174ea8f7f Merged-In: I955212a20ea19c854ebc88635252a1d174ea8f7f (cherry picked from commit c743414d4298c2ffad94eb4fc00d644b992b0bf8)
-rw-r--r--cc/binary.go2
-rw-r--r--cc/builder.go23
-rw-r--r--cc/library.go4
3 files changed, 22 insertions, 7 deletions
diff --git a/cc/binary.go b/cc/binary.go
index 666e8849..f6510a45 100644
--- a/cc/binary.go
+++ b/cc/binary.go
@@ -388,7 +388,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'
diff --git a/cc/builder.go b/cc/builder.go
index fc5400c7..a9ee4e92 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -227,6 +227,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() {
@@ -239,6 +247,8 @@ func init() {
// Darwin doesn't have /proc
pctx.StaticVariable("relPwd", "")
}
+
+ pctx.HostBinToolVariable("SoongZipCmd", "soong_zip")
}
type builderFlags struct {
@@ -867,13 +877,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)
}
diff --git a/cc/library.go b/cc/library.go
index ca1c1be0..2b340508 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -629,7 +629,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()
@@ -741,7 +741,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