1
1
#! /usr/bin/env bash
2
2
3
3
function build() {
4
- ROOT=$( dirname $0 )
4
+ ROOT=$( dirname " $0 " )
5
5
JS_ROOT=$ROOT /../web/public/js
6
6
NAME=" edge-admin"
7
7
DIST=$ROOT /" ../dist/${NAME} "
8
8
OS=${1}
9
9
ARCH=${2}
10
10
TAG=${3}
11
11
12
- if [ -z $OS ]; then
12
+ if [ -z " $OS " ]; then
13
13
echo " usage: build.sh OS ARCH"
14
14
exit
15
15
fi
16
- if [ -z $ARCH ]; then
16
+ if [ -z " $ARCH " ]; then
17
17
echo " usage: build.sh OS ARCH"
18
18
exit
19
19
fi
20
- if [ -z $TAG ]; then
20
+ if [ -z " $TAG " ]; then
21
21
TAG=" community"
22
22
fi
23
23
24
24
# checking environment
25
25
echo " checking required commands ..."
26
26
commands=(" zip" " unzip" " go" " find" " sed" )
27
27
for cmd in " ${commands[@]} " ; do
28
- if [ ` which ${cmd} ` ]; then
28
+ if [ " $( which " ${cmd} " ) " ]; then
29
29
echo " checking ${cmd} : ok"
30
30
else
31
31
echo " checking ${cmd} : not found"
32
32
return
33
33
fi
34
34
done
35
35
36
- VERSION=$( lookup-version $ROOT /../internal/const/const.go)
36
+ VERSION=$( lookup-version " $ROOT " /../internal/const/const.go)
37
37
ZIP=" ${NAME} -${OS} -${ARCH} -${TAG} -v${VERSION} .zip"
38
38
39
39
# build edge-api
40
- APINodeVersion=$( lookup-version $ROOT " /../../EdgeAPI/internal/const/const.go" )
40
+ APINodeVersion=$( lookup-version " $ROOT " " /../../EdgeAPI/internal/const/const.go" )
41
41
echo " building edge-api v${APINodeVersion} ..."
42
42
EDGE_API_BUILD_SCRIPT=$ROOT " /../../EdgeAPI/build/build.sh"
43
- if [ ! -f $EDGE_API_BUILD_SCRIPT ]; then
43
+ if [ ! -f " $EDGE_API_BUILD_SCRIPT " ]; then
44
44
echo " unable to find edge-api build script 'EdgeAPI/build/build.sh'"
45
45
exit
46
46
fi
47
47
48
- cd $ROOT " /../../EdgeAPI/build"
48
+ cd " $ROOT " " /../../EdgeAPI/build" || exit
49
49
echo " =============================="
50
- ./build.sh $OS $ARCH $TAG
50
+ ./build.sh " $OS " " $ARCH " $TAG
51
51
echo " =============================="
52
- cd -
52
+ cd - || exit
53
53
54
54
# generate files
55
55
echo " generating files ..."
56
- go run -tags $TAG $ROOT /../cmd/edge-admin/main.go generate
57
- if [ ` which uglifyjs` ]; then
56
+ go run -tags $TAG " $ROOT " /../cmd/edge-admin/main.go generate
57
+ if [ " $( which uglifyjs) " ]; then
58
58
echo " compress to component.js ..."
59
- uglifyjs --compress --mangle -- ${JS_ROOT} /components.src.js > ${JS_ROOT} /components.js
59
+ uglifyjs --compress --mangle -- " ${JS_ROOT} " /components.src.js > " ${JS_ROOT} " /components.js
60
60
else
61
61
echo " copy to component.js ..."
62
- cp ${JS_ROOT} /components.src.js ${JS_ROOT} /components.js
62
+ cp " ${JS_ROOT} " /components.src.js " ${JS_ROOT} " /components.js
63
63
fi
64
64
65
65
# create dir & copy files
66
66
echo " copying ..."
67
- if [ ! -d $DIST ]; then
68
- mkdir $DIST
69
- mkdir $DIST /bin
70
- mkdir $DIST /configs
71
- mkdir $DIST /logs
67
+ if [ ! -d " $DIST " ]; then
68
+ mkdir " $DIST "
69
+ mkdir " $DIST " /bin
70
+ mkdir " $DIST " /configs
71
+ mkdir " $DIST " /logs
72
72
fi
73
73
74
- cp -R $ROOT /../web $DIST /
75
- rm -f $DIST /web/tmp/*
76
- rm -rf $DIST /web/public/js/components
77
- rm -f $DIST /web/public/js/components.src.js
78
- cp $ROOT /configs/server.template.yaml $DIST /configs/
74
+ cp -R " $ROOT " /../web " $DIST " /
75
+ rm -f " $DIST " /web/tmp/*
76
+ rm -rf " $DIST " /web/public/js/components
77
+ rm -f " $DIST " /web/public/js/components.src.js
78
+ cp " $ROOT " /configs/server.template.yaml " $DIST " /configs/
79
79
80
80
# change _plus.[ext] to .[ext]
81
81
if [ " ${TAG} " = " plus" ]; then
82
82
echo " converting filenames ..."
83
83
exts=(" html" " js" " css" )
84
84
for ext in " ${exts[@]} " ; do
85
85
pattern=" *_plus." ${ext}
86
- find $DIST /web/views -type f -name $pattern | \
86
+ find " $DIST " /web/views -type f -name " $pattern " | \
87
87
while read filename; do
88
- mv ${filename} " ${filename/ _plus." ${ext} " / ." ${ext} " } "
88
+ mv " ${filename} " " ${filename/ _plus." ${ext} " / ." ${ext} " } "
89
89
done
90
90
done
91
91
fi
92
92
93
93
EDGE_API_ZIP_FILE=$ROOT " /../../EdgeAPI/dist/edge-api-${OS} -${ARCH} -${TAG} -v${APINodeVersion} .zip"
94
- cp $EDGE_API_ZIP_FILE $DIST /
95
- cd $DIST /
96
- unzip -q $( basename $EDGE_API_ZIP_FILE )
97
- rm -f $( basename $EDGE_API_ZIP_FILE )
98
- cd -
94
+ cp " $EDGE_API_ZIP_FILE " " $DIST " /
95
+ cd " $DIST " / || exit
96
+ unzip -q " $( basename " $EDGE_API_ZIP_FILE " ) "
97
+ rm -f " $( basename " $EDGE_API_ZIP_FILE " ) "
98
+ cd - || exit
99
99
100
100
# build
101
- echo " building " ${NAME} " ..."
102
- env GOOS=$OS GOARCH=$ARCH go build -trimpath -tags $TAG -ldflags=" -s -w" -o $DIST /bin/${NAME} $ROOT /../cmd/edge-admin/main.go
101
+ echo " building ${NAME} ..."
102
+ env GOOS=" $OS " GOARCH=" $ARCH " go build -trimpath -tags $TAG -ldflags=" -s -w" -o " $DIST " /bin/${NAME} " $ROOT " /../cmd/edge-admin/main.go
103
103
104
104
# delete hidden files
105
- find $DIST -name " .DS_Store" -delete
106
- find $DIST -name " .gitignore" -delete
107
- find $DIST -name " *.less" -delete
108
- find $DIST -name " *.css.map" -delete
109
- find $DIST -name " *.js.map" -delete
105
+ find " $DIST " -name " .DS_Store" -delete
106
+ find " $DIST " -name " .gitignore" -delete
107
+ find " $DIST " -name " *.less" -delete
108
+ find " $DIST " -name " *.css.map" -delete
109
+ find " $DIST " -name " *.js.map" -delete
110
110
111
111
# zip
112
112
echo " zip files ..."
@@ -123,15 +123,15 @@ function build() {
123
123
124
124
function lookup-version() {
125
125
FILE=$1
126
- VERSION_DATA=$( cat $FILE )
126
+ VERSION_DATA=$( cat " $FILE " )
127
127
re=" Version[ ]+=[ ]+\" ([0-9.]+)\" "
128
128
if [[ $VERSION_DATA =~ $re ]]; then
129
129
VERSION=${BASH_REMATCH[1]}
130
- echo $VERSION
130
+ echo " $VERSION "
131
131
else
132
132
echo " could not match version"
133
133
exit
134
134
fi
135
135
}
136
136
137
- build $1 $2 $3
137
+ build " $1 " " $2 " " $3 "
0 commit comments