-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathmulti-compile.sh
executable file
·50 lines (45 loc) · 1.2 KB
/
multi-compile.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
#!/bin/bash
set -e
#Java executable for standard Linux environment
export JAVAC=javac
export JAR=jar
#Java executable for MinGW environment
#export JAVAC=/c/jdk9/bin/javac.exe
#export JAR=/c/jdk9/bin/jar.exe
echo "--- COMPILATION & PACKAGING ---"
echo " > creating clean directories"
rm -rf classes
mkdir classes
rm -rf mods
mkdir mods
echo " > multi-compiling modules"
# spark is required as an automatic module, so copy it to mods
cp libs/spark-core-* mods/spark.core.jar
$JAVAC \
--module-path mods \
--module-source-path "./*/src/main/java" \
-d classes \
--module monitor
echo " > packaging modules"
$JAR --create \
--file mods/monitor.observer.jar \
-C classes/monitor.observer .
$JAR --create \
--file mods/monitor.observer.alpha.jar \
-C classes/monitor.observer.alpha .
$JAR --create \
--file mods/monitor.observer.beta.jar \
-C classes/monitor.observer.beta .
$JAR --create \
--file mods/monitor.statistics.jar \
-C classes/monitor.statistics .
$JAR --create \
--file mods/monitor.persistence.jar \
-C classes/monitor.persistence .
$JAR --create \
--file mods/monitor.rest.jar \
-C classes/monitor.rest .
$JAR --create \
--file mods/monitor.jar \
--main-class monitor.Main \
-C classes/monitor .