From 19835c8f6c2be72a74da68934fb454a694068a35 Mon Sep 17 00:00:00 2001 From: John Taylor Date: Wed, 1 Apr 2020 16:39:42 +0000 Subject: [PATCH 1/2] feat: use maximum compression for gzip and zip archives --- pkg/archive/gzip/gzip.go | 2 +- pkg/archive/targz/targz.go | 2 +- pkg/archive/zip/zip.go | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pkg/archive/gzip/gzip.go b/pkg/archive/gzip/gzip.go index 730df290938..70976974100 100644 --- a/pkg/archive/gzip/gzip.go +++ b/pkg/archive/gzip/gzip.go @@ -21,7 +21,7 @@ func (a Archive) Close() error { // New gz archive func New(target io.Writer) Archive { - gw := gzip.NewWriter(target) + gw, _ := gzip.NewWriterLevel(target, gzip.BestCompression) return Archive{ gw: gw, } diff --git a/pkg/archive/targz/targz.go b/pkg/archive/targz/targz.go index afc837be105..5715fb75417 100644 --- a/pkg/archive/targz/targz.go +++ b/pkg/archive/targz/targz.go @@ -25,7 +25,7 @@ func (a Archive) Close() error { // New tar.gz archive func New(target io.Writer) Archive { - gw := gzip.NewWriter(target) + gw, _ := gzip.NewWriterLevel(target, gzip.BestCompression) tw := tar.NewWriter(gw) return Archive{ gw: gw, diff --git a/pkg/archive/zip/zip.go b/pkg/archive/zip/zip.go index e9be3fcf56b..d1dd5ead7c1 100644 --- a/pkg/archive/zip/zip.go +++ b/pkg/archive/zip/zip.go @@ -4,6 +4,7 @@ package zip import ( "archive/zip" + "compress/flate" "io" "os" ) @@ -20,8 +21,12 @@ func (a Archive) Close() error { // New zip archive func New(target io.Writer) Archive { + compressor := zip.NewWriter(target) + compressor.RegisterCompressor(zip.Deflate, func(out io.Writer) (io.WriteCloser, error) { + return flate.NewWriter(out, flate.BestCompression) + }) return Archive{ - z: zip.NewWriter(target), + z: compressor, } } From f48bdea52d99d2ff72f83fd9a7a42179765760e0 Mon Sep 17 00:00:00 2001 From: John Taylor Date: Wed, 1 Apr 2020 18:52:50 +0000 Subject: [PATCH 2/2] fix: add comment for skipping error check --- pkg/archive/gzip/gzip.go | 1 + pkg/archive/targz/targz.go | 1 + 2 files changed, 2 insertions(+) diff --git a/pkg/archive/gzip/gzip.go b/pkg/archive/gzip/gzip.go index 70976974100..dc2c1945c92 100644 --- a/pkg/archive/gzip/gzip.go +++ b/pkg/archive/gzip/gzip.go @@ -21,6 +21,7 @@ func (a Archive) Close() error { // New gz archive func New(target io.Writer) Archive { + // the error will be nil since the compression level is valid gw, _ := gzip.NewWriterLevel(target, gzip.BestCompression) return Archive{ gw: gw, diff --git a/pkg/archive/targz/targz.go b/pkg/archive/targz/targz.go index 5715fb75417..7ea3f41bdb1 100644 --- a/pkg/archive/targz/targz.go +++ b/pkg/archive/targz/targz.go @@ -25,6 +25,7 @@ func (a Archive) Close() error { // New tar.gz archive func New(target io.Writer) Archive { + // the error will be nil since the compression level is valid gw, _ := gzip.NewWriterLevel(target, gzip.BestCompression) tw := tar.NewWriter(gw) return Archive{