X-Git-Url: http://jaekl.net/gitweb/?p=cfb.git;a=blobdiff_plain;f=cov.sh;h=fd41983eb304aaa033167b65e7860aa89ec01ddc;hp=0948141a745b5e199d18e6cac98cba85d4b25c39;hb=e1520fe079abf9b27dbd859c0e186eeee4898f7e;hpb=5bc9bbe3fd54b9fc7aa3b92d2d37e95c41b9645a diff --git a/cov.sh b/cov.sh index 0948141..fd41983 100755 --- 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 {} \;