blob: 6ec8a0e512e509118ad4c310c90cc2928fede9d0 (
plain)
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
|
#!/bin/bash
if [[ "$snapsource" == "" ]]
then
export snapsource="https://github.com/Gubolin/snap.git"
fi
if [[ $1 = "" ]]
then
echo "Usage: mobile.sh PLATFORM [BUILDSOURCE]"
exit 0
fi
scriptdir=$(readlink -e ".")
# Requirements:
# git, nodejs, android SDK / other platform(s)
# cordova (https://cordova.apache.org/)
if [[ $2 != "" ]]
then
buildsource=$(readlink -e "$2")
fi
builddir=$(mktemp -d)
cordova create $builddir edu.berkeley.snap "Snap\!"
cd $builddir
rm -rf www config.xml
if [[ $2 == "" ]]
then
git clone "$snapsource" www
cd www/
git checkout mobileapp
else
mv "$buildsource" www
cd www
fi
# add mobile-specific library; it's made available at runtime
sed -i '/link rel="shortcut icon"/a\
<script type="text/javascript" src="cordova.js"></script>' snap.html
# add everything needed and build for $device
cordova platform add "$1"
cordova plugin add org.apache.cordova.plugin.softkeyboard
cordova plugin add org.apache.cordova.vibration
cordova plugin add org.apache.cordova.device-motion
cordova plugin add org.apache.cordova.device-orientation
cordova plugin add org.apache.cordova.geolocation
cordova plugin add de.appplant.cordova.plugin.local-notification
if [[ $1 == "android" ]]
then
# Remove default icons
cd "$builddir/platforms/android"
find -name '*.png' | xargs rm
fi
cordova build "$1"
cd $builddir
# TODO other platforms
find -name '*.apk' | xargs -I {} mv {} $scriptdir
|