blob: 45873bea7188d8bdf1e3cf1da19bf4981955c442 [file] [log] [blame]
#!/usr/bin/env bash
# Makes a release tarball. We include our dependencies/submodules,
# but we heavily prune their file lists to avoid including lots of
# extraneous baggage. We also leave out Bloaty's tests, especially
# because some of the test data is large.
set -e
if [ "$#" -ne 1 ]; then
echo "Usage: make-release.tarball.sh VERSION"
exit 1
fi
VERSION=$1
FILES=$(git ls-files --exclude-standard --recurse-submodules |
grep -v googletest |
grep -v ^tests |
grep -v third_party/protobuf |
grep -v 'third_party/capstone/\(suite\|bindings\|xcode\|msvc\|contrib\)' |
grep -v third_party/abseil-cpp/absl/time/internal/cctz/testdata |
grep -v ^.git)
FILES="$FILES $(git ls-files --exclude-standard --recurse-submodules |
grep 'third_party/protobuf/\(src\|cmake\|configure.ac\)')"
# Unfortunately tar on Mac doesn't support --transform, so we have to
# actually move our files to a different directory to get the prefix.
DIR=/tmp/bloaty-$VERSION
rm -rf $DIR
mkdir $DIR
rsync -R $FILES $DIR
BASE=$PWD
cd /tmp
OUT=bloaty-$VERSION.tar.bz2
tar cjf $BASE/$OUT bloaty-$VERSION
echo "Created $OUT"