-
Notifications
You must be signed in to change notification settings - Fork 0
/
batchBuild.sh
executable file
·83 lines (75 loc) · 1.82 KB
/
batchBuild.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/sh
exitCode=0
patchFile() {
sed 's/Type.typeof/Type.typeOf/g' "$1" > "$1.tmp"
rm "$1"
mv "$1.tmp" "$1"
}
buildHaxe() {
echo "Building $1""_$3.js with main $5"
haxe \
--macro "addGlobalMetadata('', '@:build(Build.buildReal())')" \
--macro "addGlobalMetadata('', '@:build(Build.build())')" \
-cp src \
-D js-es=3 \
-D "$1=$2" \
-js "builds/out/$4/$1""_$3.js" \
-main $5 \
-lib polygonal-ds
#-lib closure \
#-D closure_overwrite \
#-D closure_language_in=ECMASCRIPT3 \
#-D closure_prettyprint
if (( $? != 0 )); then
exit $?
fi
patchFile "builds/out/$4/$1""_$3.js"
}
mkdir -p "builds/out/$1"
buildInputPath="builds/in/$1.in"
curName=
curTest=''
curMain=
testCount=0
for line in `cat "$buildInputPath"`; do
case "$line" in
*:*)
ARR=(${line//:/ })
curName=${ARR[0]}
curMain=${ARR[1]}
testCount=0
;;
---*)
testCount=$(( $testCount + 1 ))
buildHaxe "$curName" "$curTest" $testCount "$1" $curMain
curTest=
;;
===*)
testCount=$(( $testCount + 1 ))
buildHaxe "$curName" "$curTest" $testCount "$1" $curMain
curName=
curTest=
curMain=
testCount=0
;;
*)
if [ -z "$curTest" ]; then
curTest="$line"
else
curTest=$(printf "$curTest\n$line")
fi
;;
esac
done < "$buildInputPath"
sliceFrom=
for ((i=0; i<$#; i++)); do
if [[ ${!i} == "--upload" ]]; then
sliceFrom=$(( $i + 1 ))
fi
done
if [ -z "$sliceFrom" ]; then
exit 0
else
ips=${@:$sliceFrom}
./upload.sh builds/out/$1/*.js -- "$ips"
fi