#!/bin/bash -ex
#
# generate coverage report and upload to codacy

# extra ubuntu bionic packages: gcovr, openjdk-8-jre-headless, /usr/lib/jvm/java-8-openjdk-amd64/bin/java
# as of 6/18/2018 you must use java 8, see issue #76, #83 at https://github.com/codacy/codacy-coverage-reporter/issues
# as of 3/16/2019 with coverage reporter 4.0.3 java 8 is not required.

qmake
make coverage

# debug tokens
"$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)"/ci_tokens

#!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# don't leak unhashed tokens!
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!
if [ -v CODACY_PROJECT_TOKEN ] ; then
  # upload coverate report to codacy.
  wget -nv -c https://github.com/codacy/codacy-coverage-reporter/releases/download/6.2.0/codacy-coverage-reporter-assembly-6.2.0.jar
  java -jar codacy-coverage-reporter-assembly-6.2.0.jar report -l cpp -f -r gpsbabel_coverage.xml
else
  echo "Skipping codacy coverage upload as CODACY_PROJECT_TOKEN is not set."
fi
