aboutsummaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2017-03-15 21:49:26 -0700
committerDan Willemsen <dwillemsen@google.com>2017-03-15 21:53:58 -0700
commita8b5502773a9aebe78503df2dfd23724a99afec5 (patch)
tree6b4b102ac181b224df5ec52479450f51c4cd1847 /cmd
parent10462b3fd5f78c24955e0626d4bb68e17028974e (diff)
downloadbuild_soong-a8b5502773a9aebe78503df2dfd23724a99afec5.tar.gz
build_soong-a8b5502773a9aebe78503df2dfd23724a99afec5.tar.bz2
build_soong-a8b5502773a9aebe78503df2dfd23724a99afec5.zip
Refactor compressWholeFile to take a zipEntryandroid-n-mr2-preview-2
Test: m -j vts; compare android-vts.zip Test: soong_zip -C ./ -f short_test.sh -f log -o test.zip Change-Id: I9a843c6f8436ecfacc7948915e50f25c04497057
Diffstat (limited to 'cmd')
-rw-r--r--cmd/soong_zip/soong_zip.go23
1 files changed, 5 insertions, 18 deletions
diff --git a/cmd/soong_zip/soong_zip.go b/cmd/soong_zip/soong_zip.go
index 605d4a49..1ec22659 100644
--- a/cmd/soong_zip/soong_zip.go
+++ b/cmd/soong_zip/soong_zip.go
@@ -450,7 +450,7 @@ func (z *zipWriter) writeFile(rel, file string) error {
f.Close()
}(wg, r)
} else {
- go z.compressWholeFile(rel, r, executable, exec, compressChan)
+ go z.compressWholeFile(ze, r, exec, compressChan)
}
return nil
@@ -519,29 +519,19 @@ func (z *zipWriter) compressBlock(r io.Reader, dict []byte, last bool) (*bytes.B
return buf, nil
}
-func (z *zipWriter) compressWholeFile(rel string, r *os.File, executable bool, exec Execution, compressChan chan *zipEntry) {
+func (z *zipWriter) compressWholeFile(ze *zipEntry, r *os.File, exec Execution, compressChan chan *zipEntry) {
var bufSize int
defer r.Close()
- fileHeader := &zip.FileHeader{
- Name: rel,
- Method: zip.Deflate,
- }
- fileHeader.SetModTime(z.time)
- if executable {
- fileHeader.SetMode(0700)
- }
-
crc := crc32.NewIEEE()
- count, err := io.Copy(crc, r)
+ _, err := io.Copy(crc, r)
if err != nil {
z.errors <- err
return
}
- fileHeader.CRC32 = crc.Sum32()
- fileHeader.UncompressedSize64 = uint64(count)
+ ze.fh.CRC32 = crc.Sum32()
_, err = r.Seek(0, 0)
if err != nil {
@@ -551,10 +541,7 @@ func (z *zipWriter) compressWholeFile(rel string, r *os.File, executable bool, e
compressed, err := z.compressBlock(r, nil, true)
- ze := &zipEntry{
- fh: fileHeader,
- futureReaders: make(chan chan io.Reader, 1),
- }
+ ze.futureReaders = make(chan chan io.Reader, 1)
futureReader := make(chan io.Reader, 1)
ze.futureReaders <- futureReader
close(ze.futureReaders)