-
Notifications
You must be signed in to change notification settings - Fork 145
/
Copy pathbuild_src.sh
executable file
·48 lines (39 loc) · 1.3 KB
/
build_src.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
# Copyright (C) 2021 mieru authors
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# Make sure this script has executable permission:
# git update-index --chmod=+x <file>
check_command() {
rc=$(command -v $1 2>&1 > /dev/null; echo $?)
if [[ ${rc} -ne 0 ]]; then
echo "command \"$1\" not found in the system"
exit 1
fi
}
set -e
check_command "git"
check_command "tar"
check_command "zip"
ROOT=$(git rev-parse --show-toplevel)
PROJECT_NAME=$(basename "$ROOT")
cd "$ROOT"
git clean -fxd
cd ..
tar --exclude="$PROJECT_NAME/.git" -zcvf source.tar.gz "$PROJECT_NAME"
zip -r source.zip "$PROJECT_NAME" -x \*.git\*
cd "$ROOT"
mkdir -p release
mv ../source.tar.gz release
mv ../source.zip release