Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/misc/scripts/make_tarball.sh
9896 views
1
#!/bin/sh
2
3
if [ ! -e "version.py" ]; then
4
echo "This script should be ran from the root folder of the Godot repository."
5
exit 1
6
fi
7
8
while getopts "h?sv:g:" opt; do
9
case "$opt" in
10
h|\?)
11
echo "Usage: $0 [OPTIONS...]"
12
echo
13
echo " -s script friendly file name (godot.tar.gz)"
14
echo " -v godot version for file name (e.g. 4.0-stable)"
15
echo " -g git treeish to archive (e.g. master)"
16
echo
17
exit 1
18
;;
19
s)
20
script_friendly_name=1
21
;;
22
v)
23
godot_version=$OPTARG
24
;;
25
g)
26
git_treeish=$OPTARG
27
;;
28
esac
29
done
30
31
if [ ! -z "$git_treeish" ]; then
32
HEAD=$(git rev-parse $git_treeish)
33
else
34
HEAD=$(git rev-parse HEAD)
35
fi
36
37
if [ ! -z "$script_friendly_name" ]; then
38
NAME=godot
39
else
40
if [ ! -z "$godot_version" ]; then
41
NAME=godot-$godot_version
42
else
43
NAME=godot-$HEAD
44
fi
45
fi
46
47
CURDIR=$(pwd)
48
TMPDIR=$(mktemp -d -t godot-XXXXXX)
49
50
echo "Generating tarball for revision $HEAD with folder name '$NAME'."
51
echo
52
echo "The tarball will be written to the parent folder:"
53
echo " $(dirname $CURDIR)/$NAME.tar.gz"
54
55
git archive $HEAD --prefix=$NAME/ -o $TMPDIR/$NAME.tar
56
57
# Adding custom .git/HEAD to tarball so that we can generate GODOT_VERSION_HASH.
58
cd $TMPDIR
59
mkdir -p $NAME/.git
60
echo $HEAD > $NAME/.git/HEAD
61
tar -uf $NAME.tar $NAME
62
63
cd $CURDIR
64
gzip -c $TMPDIR/$NAME.tar > ../$NAME.tar.gz
65
66
rm -rf $TMPDIR
67
68