2018-07-10 19:19:55 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2018-07-10 19:49:26 +00:00
|
|
|
DEPLOY=$1
|
|
|
|
VERSIONS=./versions
|
|
|
|
|
2018-07-10 19:19:55 +00:00
|
|
|
EXIT_SUCCESS=0
|
|
|
|
EXIT_COMPILE_FAILED=1
|
|
|
|
EXIT_PACKING_FAILED=2
|
2018-07-10 19:28:55 +00:00
|
|
|
EXIT_INSTRUMENTATION_FAILED=3
|
2018-07-10 19:49:26 +00:00
|
|
|
EXIT_READY_FAILED=4
|
2018-07-10 19:19:55 +00:00
|
|
|
|
|
|
|
mkdir -p ../bin/
|
|
|
|
mkdir -p ../build/
|
|
|
|
mkdir -p ../build/NurseBot_lib/
|
|
|
|
|
2018-11-25 19:40:26 +00:00
|
|
|
pushd ../bin/
|
|
|
|
|
|
|
|
# cleanup
|
|
|
|
rm -r *
|
|
|
|
|
|
|
|
popd
|
|
|
|
|
2018-07-10 19:19:55 +00:00
|
|
|
pushd ../src/
|
|
|
|
|
2018-07-14 21:51:49 +00:00
|
|
|
export manifest_cp=.
|
2018-07-13 16:11:50 +00:00
|
|
|
for file in $(ls ../build/NurseBot_lib); do
|
2018-07-14 21:21:02 +00:00
|
|
|
echo "found lib: $file"
|
2018-07-13 16:11:50 +00:00
|
|
|
export CLASSPATH=$CLASSPATH:../build/NurseBot_lib/$file
|
2018-07-14 21:51:49 +00:00
|
|
|
export manifest_cp="$manifest_cp NurseBot_lib/$file"
|
2018-07-13 16:05:20 +00:00
|
|
|
done
|
|
|
|
|
2018-07-10 19:49:26 +00:00
|
|
|
echo "Building... "
|
2019-04-17 21:01:28 +00:00
|
|
|
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
|
|
|
|
javac -cp "$CLASSPATH" -d ../bin/ $(find ./ -iname "*.java")
|
2018-07-10 19:19:55 +00:00
|
|
|
if test ! $? = 0; then
|
2018-07-10 19:49:26 +00:00
|
|
|
echo "... failed"
|
2018-07-10 19:19:55 +00:00
|
|
|
exit $EXIT_COMPILE_FAILED
|
|
|
|
fi
|
2018-07-10 19:49:26 +00:00
|
|
|
echo "... done"
|
2018-07-10 19:19:55 +00:00
|
|
|
|
|
|
|
popd
|
|
|
|
|
2018-07-14 21:21:02 +00:00
|
|
|
pushd ../buildtools/
|
2018-07-10 19:19:55 +00:00
|
|
|
|
2018-07-10 19:49:26 +00:00
|
|
|
echo "Building instrumentation..."
|
2018-07-10 19:26:29 +00:00
|
|
|
./instrumentation.sh
|
2018-07-10 19:28:55 +00:00
|
|
|
if test ! $? = 0; then
|
2018-07-10 19:49:26 +00:00
|
|
|
echo "... failed"
|
2018-07-10 19:28:55 +00:00
|
|
|
exit $EXIT_INSTRUMENTATION_FAILED
|
|
|
|
fi
|
2018-07-10 19:49:26 +00:00
|
|
|
echo "... done"
|
2018-07-10 19:26:29 +00:00
|
|
|
|
2018-07-10 19:49:26 +00:00
|
|
|
echo "Copying instrumentation..."
|
2018-07-10 19:26:29 +00:00
|
|
|
cp ../bin/activejdbc_models.properties ../build/
|
2018-07-10 19:49:26 +00:00
|
|
|
if test ! $? = 0; then
|
|
|
|
echo "... failed"
|
|
|
|
exit $EXIT_INSTRUMENTATION_FAILED
|
|
|
|
fi
|
|
|
|
echo "... done"
|
|
|
|
|
2018-07-14 21:21:02 +00:00
|
|
|
popd
|
|
|
|
|
|
|
|
pushd ../bin/
|
|
|
|
|
2018-07-14 21:51:49 +00:00
|
|
|
MAX_LINE=72
|
|
|
|
manifest_cp="lass-Path: $manifest_cp"
|
|
|
|
manifest_cp="$(echo $manifest_cp | fold -bw $((MAX_LINE - 1)) | awk '{ if (NR == 1) print "C" $0; else print " " $0}')"
|
|
|
|
|
|
|
|
|
|
|
|
cat > ../build/MANIFST.MF <<EOF
|
|
|
|
Manifest-Version: 1.0
|
|
|
|
$manifest_cp
|
|
|
|
Main-Class: asylum.nursebot.NurseNoakes
|
|
|
|
EOF
|
|
|
|
|
2018-07-14 21:21:02 +00:00
|
|
|
echo "Packing jar..."
|
2018-07-14 21:51:49 +00:00
|
|
|
jar cmf ../build/MANIFST.MF ../build/NurseBot.jar $(find ./ -iname "*.class")
|
2018-07-14 21:21:02 +00:00
|
|
|
if test ! $? = 0; then
|
|
|
|
echo "... failed"
|
|
|
|
exit $EXIT_PACKING_FAILED
|
|
|
|
fi
|
|
|
|
echo "... done"
|
|
|
|
|
|
|
|
popd
|
|
|
|
|
2018-07-10 19:49:26 +00:00
|
|
|
pushd ../build
|
2018-07-14 21:21:02 +00:00
|
|
|
|
2018-07-10 19:49:26 +00:00
|
|
|
echo "Determine version..."
|
|
|
|
version=$(java -jar NurseBot.jar -v)
|
|
|
|
echo "This is version $version."
|
|
|
|
|
|
|
|
if test ! "$DEPLOY" = ""; then
|
2018-07-13 16:28:35 +00:00
|
|
|
echo "Set to deploy ($DEPLOY/$VERSIONS/NurseBot$version.jar)
|
|
|
|
..."
|
2018-07-14 21:21:02 +00:00
|
|
|
cp activejdbc_models.properties $DEPLOY/$VERSIONS/activejdbc_models$version.properties
|
2018-07-13 16:25:07 +00:00
|
|
|
cp NurseBot.jar $DEPLOY/$VERSIONS/NurseBot$version.jar
|
2018-07-10 19:49:26 +00:00
|
|
|
if test ! $? = 0; then
|
|
|
|
echo "... failed"
|
|
|
|
exit $EXIT_READY_FAILED
|
|
|
|
fi
|
|
|
|
echo "... done"
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "Overall done."
|
|
|
|
popd
|
2018-07-10 19:26:29 +00:00
|
|
|
|
2018-07-10 19:19:55 +00:00
|
|
|
exit $EXIT_SUCCESS
|
|
|
|
|