67 lines
1.3 KiB
Bash
67 lines
1.3 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
if [ ! -e "version.py" ]; then
|
||
|
echo "This script should be ran from the root folder of the Godot repository."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
while getopts "h?sv:g:" opt; do
|
||
|
case "$opt" in
|
||
|
h|\?)
|
||
|
echo "Usage: $0 [OPTIONS...]"
|
||
|
echo
|
||
|
echo " -s script friendly file name (godot.tar.gz)"
|
||
|
echo " -v godot version for file name (e.g. 4.0-stable)"
|
||
|
echo " -g git treeish to archive (e.g. master)"
|
||
|
echo
|
||
|
exit 1
|
||
|
;;
|
||
|
s)
|
||
|
script_friendly_name=1
|
||
|
;;
|
||
|
v)
|
||
|
godot_version=$OPTARG
|
||
|
;;
|
||
|
g)
|
||
|
git_treeish=$OPTARG
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [ ! -z "$git_treeish" ]; then
|
||
|
HEAD=$(git rev-parse $git_treeish)
|
||
|
else
|
||
|
HEAD=$(git rev-parse HEAD)
|
||
|
fi
|
||
|
|
||
|
if [ ! -z "$script_friendly_name" ]; then
|
||
|
NAME=godot
|
||
|
else
|
||
|
if [ ! -z "$godot_version" ]; then
|
||
|
NAME=godot-$godot_version
|
||
|
else
|
||
|
NAME=godot-$HEAD
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
CURDIR=$(pwd)
|
||
|
TMPDIR=$(mktemp -d -t godot-XXXXXX)
|
||
|
|
||
|
echo "Generating tarball for revision $HEAD with folder name '$NAME'."
|
||
|
echo
|
||
|
echo "The tarball will be written to the parent folder:"
|
||
|
echo " $(dirname $CURDIR)/$NAME.tar.gz"
|
||
|
|
||
|
git archive $HEAD --prefix=$NAME/ -o $TMPDIR/$NAME.tar
|
||
|
|
||
|
# Adding custom .git/HEAD to tarball so that we can generate VERSION_HASH.
|
||
|
cd $TMPDIR
|
||
|
mkdir -p $NAME/.git
|
||
|
echo $HEAD > $NAME/.git/HEAD
|
||
|
tar -uf $NAME.tar $NAME
|
||
|
|
||
|
cd $CURDIR
|
||
|
gzip -c $TMPDIR/$NAME.tar > ../$NAME.tar.gz
|
||
|
|
||
|
rm -rf $TMPDIR
|