-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathpack.sh
executable file
·53 lines (41 loc) · 857 Bytes
/
pack.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
49
50
51
52
53
#!/bin/sh
ZIP='7z'
function realpath() {
(cd "$1"; pwd -P)
}
function canon_name() {
dir="$(realpath "$(dirname "$0")")"
parse_info() {
v=`grep \"$1\" "$dir"/info.json | head -1`
v="${v%%\",}"
v="${v##*\"}"
echo $v
}
name=`parse_info name`
version=`parse_info version`
echo "${name}_${version}"
}
moddir="$(realpath $(dirname "$0"))"
tmpdir=$(mktemp -d)
canon_name="$(canon_name)"
zipfile="$PWD/$canon_name.zip"
ln -nsf "$moddir" "$tmpdir/$canon_name"
cd "$tmpdir"
include=$(
cat <<- END
$canon_name/LICENSE
$canon_name/changelog.txt
$canon_name/info.json
$canon_name/thumbnail.png
$canon_name/*.lua
$canon_name/*.md
END
)
dirs=$(ls -d "$canon_name"/*/ | grep -vF "$canon_name/$canon_name" | grep -vF resources)
echo "Zipping to $zipfile:"
for f in $include $dirs
do
echo $f
done
echo
"$ZIP" a "$zipfile" $include $dirs