Address EI_EXPOSE_REP and EI_EXPOSE_REP2 FindBugs warnings.
[cfb.git] / cov.sh
diff --git a/cov.sh b/cov.sh
index 0948141a745b5e199d18e6cac98cba85d4b25c39..fd41983eb304aaa033167b65e7860aa89ec01ddc 100755 (executable)
--- a/cov.sh
+++ b/cov.sh
@@ -1,4 +1,8 @@
 #!/bin/bash
+
+set -o nounset   ## (set -u) error exit on attempts to deref undefined variable
+set -o errexit   ## (set -e) error exit if subcommand returns nonzero
+
 CFB_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 INSTR_DIR="${CFB_ROOT}/../instr"
 
@@ -7,6 +11,19 @@ echo Compiling...
 find "${CFB_ROOT}/prod" -name "*.java" | xargs javac -g -Xlint:deprecation
 find "${CFB_ROOT}/test" -name "*.java" | xargs javac -g -classpath ${CFB_ROOT}/prod:${CLASSPATH} -Xlint:deprecation
 
+if [ -d "${CFB_ROOT}/bin" ]; then
+    rm -rf "${CFB_ROOT}/bin"
+fi
+mkdir -p "${CFB_ROOT}/bin"
+cd "${CFB_ROOT}/prod"
+find . -name '*.class' | xargs tar zcf "${CFB_ROOT}/tmp_classes.tar.gz" 
+cd "${CFB_ROOT}/bin"
+tar zxf "${CFB_ROOT}/tmp_classes.tar.gz"
+if [ -e "${CFB_ROOT}/tmp_classes.tar.gz" ]; then
+    rm  "${CFB_ROOT}/tmp_classes.tar.gz"
+fi
+cd "${CFB_ROOT}"
+
 #####################
 echo Cleaning old coverage files...
 for x in "${INSTR_DIR}" report
@@ -49,3 +66,8 @@ java -Djcov.template=${CFB_ROOT}/template.xml -Djcov.file=${CFB_ROOT}/result.xml
 echo Generating HTML Report...
 
 java -jar "${CFB_ROOT}/jcov/jcov.jar" RepGen -sourcepath "${CFB_ROOT}/prod" -log.level FINE result.xml
+
+#####################
+echo Cleaning up
+find "${CFB_ROOT}/prod" -type f -name '*.class' -exec rm {} \;
+find "${CFB_ROOT}/test" -type f -name '*.class' -exec rm {} \;