Create main.yml
[svrjs-build-tools.git] / build.sh
blob8eba6953b2c138715aa4299056f784826cbcf8a5
1 #!/bin/bash
3 GLOBIGNORE=".:.."
5 if ! [ -d svrjs ]; then
6 echo '"svrjs" directory is missing. You can obtain SVR.JS source ("svrjs" directory) using "git clone -b <branch> https://git.svrjs.org/git/svrjs.git" (where "<branch>" is a branch you want to clone).'
7 exit 1
8 fi
10 rm svr.js.*.zip
12 pushd $(dirname $0)
14 cp -a svrjs svrjs-temp
15 rm -rf svrjs-temp/.git
16 rm -rf svrjs-temp/.github
17 find svrjs-temp -name '.gitignore' -exec rm -f {} \;
19 mkdir svrjs-temp/node_modules_uncompressed
21 mv svrjs-temp/node_modules/.bin svrjs-temp/node_modules_uncompressed
22 for module in $(cat uncompressed_modules); do
23 mv svrjs-temp/node_modules/$module svrjs-temp/node_modules_uncompressed
24 done
26 cd svrjs-temp/node_modules
27 tar -czf ../modules.compressed *
28 tar -uzf ../modules.compressed .* 2>/dev/null
30 cd ..
31 rm -rf node_modules
32 mv node_modules_uncompressed node_modules
34 mkdir log
35 mkdir temp
36 mkdir mods
38 SVRJSVERSION=$(cat svr.js | grep -E '^[ \t]*(var|const|let) *version *= *(["'"'"'])' | grep -E -o '"([^"\\]|\\.)+"|'"'"'([^'"'"'\\]|\\.)+'"'"'' | head -n 1 | sed -E 's/^.|.$//g' | sed -E 's/\\(.)/\1/g')
39 if [ "$SVRJSVERSION" == "" ]; then
40 SVRJSVERSION=Unknown
42 SVRJSFILENAME="svr.js.$(echo $SVRJSVERSION| tr '[:upper:]' '[:lower:]' | sed -E 's/[^0-9a-z]+/./g').zip"
44 gzip svr.js
45 mv svr.js.gz svr.compressed
46 cp ../unpacker.js svr.js
48 echo $SVRJSFILENAME
49 zip -r ../$SVRJSFILENAME *
50 zip -r ../$SVRJSFILENAME .* 2>/dev/null
51 echo "SVR.JS $SVRJSVERSION" | zip -z ../$SVRJSFILENAME
52 cd ..
54 rm -rf svrjs-temp
56 popd
58 echo "You have packed SVR.JS $SVRJSVERSION into \"$SVRJSFILENAME\" file."