-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuildMATE.sh
More file actions
executable file
·84 lines (65 loc) · 2.51 KB
/
buildMATE.sh
File metadata and controls
executable file
·84 lines (65 loc) · 2.51 KB
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
84
#!/bin/bash
# You have to adjust the paths here!!!
MATE_HOME="C:\\Users\\Michael\\git\\mate"
MATE_SERVER_HOME="C:\\Users\\Michael\\git\\mate-server"
MATE_COMMANDER_HOME="C:\\Users\\Michael\\git\\mate-commander"
# Print message and exit
die() { echo "$*" 1>&2 ; exit 1; }
# Check if $ANDORID_HOME is set
[[ -n ${ANDROID_HOME+x} ]] || die "ANDROID_HOME is not set"
# Check if adb is in $PATH
type -P 'adb' > /dev/null || die "adb is not in path"
# Check fi MATE_HOME, MATE_SERVER_HOME and MATE_COMMANDER_HOME refer to
# directories.
[[ -d "$MATE_HOME" ]] || die "MATE_HOME does not point to a directory"
[[ -d "$MATE_SERVER_HOME" ]] || die "MATE_SERVER_HOME does not point to a directory"
[[ -d "$MATE_COMMANDER_HOME" ]] || die "MATE_COMMANDER_HOME does not point to a directory"
# build MATE APKs
cd $MATE_HOME
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
# kill idle gradle tasks
status=$(./gradlew --status)
# split on new line
IFS=$'\n'; set -f; lines=($status)
# kill idle gradle tasks
for line in "${lines[@]}"
do
if [[ $line =~ "IDLE" ]]
then
pid=$(echo $line | grep -o -E '[0-9]+' | head -1 | sed -e 's/^0\+//')
kill -9 $pid
fi
done
fi
# build MATE APKs
cd $MATE_HOME
# if Java 15 is not working, use Java 11, e.g. ./gradlew -Dorg.gradle.java.home="C:\\Program Files\\Java\\jdk-11" assembleDebug
./gradlew assembleDebug
./gradlew assembleAndroidTest
# copy MATE APKs into mate-commander
cd $MATE_COMMANDER_HOME
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
cp $MATE_HOME/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk app-debug-androidTest.apk
cp $MATE_HOME/app/build/outputs/apk/debug/app-debug.apk app-debug.apk
elif [[ "$OSTYPE" == "msys" ]]; then
cp $MATE_HOME\\app\\build\\outputs\\apk\\androidTest\\debug\\app-debug-androidTest.apk app-debug-androidTest.apk
cp $MATE_HOME\\app\\build\\outputs\\apk\\debug\\app-debug.apk app-debug.apk
else
die "Cannot build Mate: Unknown operating system"
fi
# sign the APKs with the same key as the APK of the AUT
./signAPK.sh app-debug-androidTest.apk
./signAPK.sh app-debug.apk
# build MATE-Server jar
cd $MATE_SERVER_HOME
./gradlew fatJar
# copy MATE-Server jar into mate-commander
cd $MATE_COMMANDER_HOME
mkdir -p bin/
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
cp $MATE_SERVER_HOME/build/libs/mate-server.jar bin/mate-server.jar
elif [[ "$OSTYPE" == "msys" ]]; then
cp $MATE_SERVER_HOME\\build\\libs\\mate-server.jar bin\\mate-server.jar
else
die "Cannot build Mate Server: Unknown operating system"
fi