| #!/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" |
| |