-
Notifications
You must be signed in to change notification settings - Fork 55
/
Copy pathjava-android-clean-build
executable file
·100 lines (74 loc) · 3.78 KB
/
java-android-clean-build
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#/bin/bash
cd /data/src
# fail on first error
# exit immediately if a command exits with a non-zero status
# print commands before they are executed
set -e
./joynr-setup-android-sdk.sh
GOAL='install'
while [ "$1" != "" ]; do
case $1 in
package ) GOAL='package'
;;
install ) GOAL='install'
;;
* ) echo "invalid argument"
exit 1
esac
shift
done
echo '####################################################'
echo '# create keystore and truststore'
echo '####################################################'
CERT_PATH='/data/ssl-data/certs'
PRIVATE_KEY_PATH='/data/ssl-data/private'
KEYSTORE_PASSWORD='password'
mkdir -p /data/src/java/messaging/mqtt/joynr-mqtt-client/src/test/resources
cd /data/src/java/messaging/mqtt/joynr-mqtt-client/src/test/resources/
# create JKS truststore
keytool -keystore catruststore.jks -importcert -file $CERT_PATH/ca.cert.pem -storepass $KEYSTORE_PASSWORD -trustcacerts -noprompt
# list the truststore contents
keytool -list -keystore catruststore.jks -storepass $KEYSTORE_PASSWORD
# create PKCS12 truststore
keytool -importkeystore -srckeystore catruststore.jks -srcstorepass $KEYSTORE_PASSWORD -destkeystore catruststore.p12 -deststorepass $KEYSTORE_PASSWORD -srcstoretype JKS -deststoretype PKCS12
# merge and import client certificate and private key into pkcs12 keystore
openssl pkcs12 -export -in $CERT_PATH/client.cert.pem -inkey $PRIVATE_KEY_PATH/client.key.pem -out clientkeystore.p12 -password pass:$KEYSTORE_PASSWORD
# convert pkcs12 keystore into java keystore
keytool -importkeystore -deststorepass $KEYSTORE_PASSWORD -destkeypass $KEYSTORE_PASSWORD -destkeystore clientkeystore.jks -srckeystore clientkeystore.p12 -srcstoretype PKCS12 -srcstorepass $KEYSTORE_PASSWORD -alias 1 -storepass $KEYSTORE_PASSWORD
# list the keystore contents
keytool -list -keystore clientkeystore.jks -storepass $KEYSTORE_PASSWORD
echo '####################################################'
echo '# start tests'
echo '####################################################'
cd /data/src
# 1st run; just build without tests to provide WAR files for payara
mvn clean $GOAL -P no-license-and-notice,no-java-formatter,no-checkstyle \
-DskipTests \
-Dmaven.test.failure.ignore=true \
-Denforcer.skip=true -Dmaven.compile.fork=true \
-Dmaven.junit.fork=true
echo '####################################################'
echo '# start services'
echo '####################################################'
mosquitto -c /etc/mosquitto/mosquitto.conf -v &
MOSQUITTO_PID=$!
DISCOVERY_DIRECTORY_WAR_FILE=$(find /data/src/java/backend-services/discovery-directory-jee/target -iregex ".*discovery-directory-jee-.*war")
DOMAIN_ACCESS_CONTROLLER_WAR_FILE=$(find /data/src/java/backend-services/domain-access-controller-jee/target -iregex ".*domain-access-controller-jee-.*war")
/data/src/docker/joynr-base/scripts/start-payara.sh -w $DISCOVERY_DIRECTORY_WAR_FILE,$DOMAIN_ACCESS_CONTROLLER_WAR_FILE
# Assume that mosquitto and payara have sufficient time to startup before reaching
# any test code that requires it;
# also assume that it is safe to remove and recreate WAR files once payara got
# started and WAR files have been deployed
# 2nd run; now including test execution which requires mosquitto / payara
mvn clean $GOAL -P no-license-and-notice,no-java-formatter,no-checkstyle \
-DskipTests=false \
-Dmaven.test.failure.ignore=true \
-Denforcer.skip=true -Dmaven.compile.fork=true \
-Dmaven.junit.fork=true
echo '####################################################'
echo '# stop services'
echo '####################################################'
/data/src/docker/joynr-base/scripts/stop-payara.sh
kill -TERM $MOSQUITTO_PID
wait $MOSQUITTO_PID
exit 0