forked from linkedin/dr-elephant
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompile.sh
executable file
·58 lines (35 loc) · 1.74 KB
/
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
51
52
53
54
55
56
57
58
#!/usr/bin/env bash
set -x
trap "exit" SIGINT SIGTERM
project_root=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
cd ${project_root}
start_script=${project_root}/start.sh
stop_script=${project_root}/stop.sh
# Echo the value of pwd in the script so that it is clear what is being removed.
rm -rf ${project_root}/dist
mkdir dist
play -Dhadoop.version=1 clean compile test dist
cd target/universal
# TODO Good to add a check for exactly one zip here
ZIP_NAME=`/bin/ls *.zip`
unzip ${ZIP_NAME}
DIST_NAME=${ZIP_NAME%.zip}
# Make two changes to bin/dr-elephant file
# Add :$HADOOP_HOME/*:$HADOOP_HOME/lib/*:$HADOOP_HOME/conf to 'declare -r ...' line
# Add a line addJava "-Djava.library.path=$HADOOP_HOME/lib/native/Linux-amd64-64" right after
sed -i.bak $'/declare -r app_classpath/s/.$/:$HADOOP_HOME\/*:$HADOOP_HOME\/lib\/*:$HADOOP_HOME\/conf"\\\naddJava "-Djava.library.path=$HADOOP_HOME\/lib\/native\/Linux-amd64-64"\\\n/' ${DIST_NAME}/bin/dr-elephant
chmod +x ${DIST_NAME}/bin/dr-elephant
cp $start_script ${DIST_NAME}/bin/
cp $stop_script ${DIST_NAME}/bin/
zip -r ${DIST_NAME}-h1.zip ${DIST_NAME} -x "${DIST_NAME}/*.zip"
mv ${DIST_NAME}-h1.zip ${project_root}/dist/
cd ${project_root}
play -Dhadoop.version=2 clean compile test dist
cd target/universal
unzip *.zip
sed -i.bak $'/declare -r app_classpath/s/.$/:$HADOOP_HOME\/share\/hadoop\/common\/*:$HADOOP_HOME\/share\/hadoop\/common\/lib\/*:$HADOOP_HOME\/share\/hadoop\/hdfs\/*:$HADOOP_CONF_DIR"\\\naddJava "-Djava.library.path=$HADOOP_HOME\/lib\/native"\\\n/' ${DIST_NAME}/bin/dr-elephant
chmod +x ${DIST_NAME}/bin/dr-elephant
cp $start_script ${DIST_NAME}/bin
cp $stop_script ${DIST_NAME}/bin
zip -r ${DIST_NAME}-h2.zip ${DIST_NAME} -x "${DIST_NAME}/*.zip"
mv ${DIST_NAME}-h2.zip $project_root/dist/