[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: calcite-avatica-go git commit: Update release script to also produce a zip archive

Personally, creating the zip isn't onerous for avatica-go because we are automating it via the release script. Having said that, the `zip` command isn't as nice as the `tar` command in terms of options and customization. I assume that something similar is also in place for calcite and avatica using the maven release plugin.

Personally, I think just releasing a tar.gz is fine. It's a very well known format and a lot of source releases from other Apache projects as well as other open source projects are released as tar.gz.

In terms of zip, there is 1 benefit. Windows users can open them using the Windows Explorer, so they won't have to install anything else. However, I think they should be able to open tar.gz files using 7-zip (it's free).

For me: +1 to just releasing a tar.gz.


On 27/04/2018 3:50 AM, Julian Hyde wrote:
File sizes (for apache-calcite-1.16.0-src)

19,747,328 .tar (uncompressed)
  5,557,353 .zip
  3,701,880 .tar.gz
  2,910,953 .tar.bz2
  2,645,024 .tar.xz

Not that file size is very important.


On Apr 26, 2018, at 8:31 AM, Josh Elser <elserj@xxxxxxxxxx> wrote:

I think tar.gz or tar.xz are both good options and see them fairly equally (not sure if maven-assembly-plugin supports xz, but would be surprised if it didn't). bz2 is just "slow" in my mind, but I suppose we're not really producing very large artifacts so it wouldn't be a pain.

I am good with dropping .zip.

On 4/26/18 10:43 AM, Julian Hyde wrote:
We should talk about this. For Calcite and Avatica, we have to produce .tar.gz and .zip because we always have.
But how about producing just one archive, in a more modern format, say .tar.bz2 or .tar.xz? Most people have those compressors installed. It makes the release process more straightforward for us (because there are fewer files to review and upload).
(I’m talking about next release here. This release has sailed.)
On Apr 25, 2018, at 00:09, francischuang@xxxxxxxxxx wrote:

Repository: calcite-avatica-go
Updated Branches:
refs/heads/master 4b50122b0 -> 1ed6f83b4

Update release script to also produce a zip archive


Branch: refs/heads/master
Commit: 1ed6f83b457f5085c645afda35e7b6b57345b591
Parents: 4b50122
Author: Francis Chuang <francischuang@xxxxxxxxxx>
Authored: Wed Apr 25 17:09:10 2018 +1000
Committer: Francis Chuang <francischuang@xxxxxxxxxx>
Committed: Wed Apr 25 17:09:10 2018 +1000

---------------------------------------------------------------------- | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/ b/
index 7a2f29e..657a4d8 100755
--- a/
+++ b/
@@ -52,6 +52,7 @@ done
tagWithoutRC=$(echo $tag | sed -e 's/-rc[0-9][0-9]*//')

#Make release dir
@@ -66,12 +67,30 @@ fi
# Make tar
tar -zcvf dist/$releaseDir/$tarFile --transform "s/^\./$product-src-$tagWithoutRC/g" --exclude "dist" --exclude ".git" .

-cd dist/$releaseDir
+# Make temp dir
+mkdir -p dist/tmp/$product-src-$tagWithoutRC
+# Make a temporary copy
+cp -r `ls -A | grep -v "dist"` dist/tmp/$product-src-$tagWithoutRC/
+cd dist/tmp/
+# Make zip
+zip -r ../$releaseDir/$zipFile . -x /$product-src-$tagWithoutRC/.git/*
+cd ..
+# Delete temp dir
+rm -rf tmp
+cd $releaseDir

# Calculate SHA256
gpg --print-md SHA256 $tarFile > $tarFile.sha256
+gpg --print-md SHA256 $zipFile > $zipFile.sha256

# Sign
gpg --armor --output $tarFile.asc --detach-sig $tarFile
+gpg --armor --output $zipFile.asc --detach-sig $zipFile

-# End
+# End
\ No newline at end of file