-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcode-climate-runner.sh
More file actions
29 lines (20 loc) · 974 Bytes
/
code-climate-runner.sh
File metadata and controls
29 lines (20 loc) · 974 Bytes
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
#!/bin/bash
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
./cc-test-reporter before-build
find . -type f -iname "jacoco.xml" -print0 | while IFS= read -r -d $'\0' report; do
PROJECT=$(dirname "${report}" | cut -d "/" -f2)
TYPE=$(dirname "${report}" | rev | cut -d "/" -f1 | rev)
if [ "$PROJECT" == "target" ]; then
PROJECT="."
fi
JACOCO_SOURCE_PATH="$PROJECT/src/main/java"
if [ -d "$PROJECT/target/generated-sources/annotations" ]; then
JACOCO_SOURCE_PATH="$JACOCO_SOURCE_PATH $PROJECT/target/generated-sources/annotations";
fi
export JACOCO_SOURCE_PATH;
echo "Generating coverage from $report with source_path $JACOCO_SOURCE_PATH"
./cc-test-reporter format-coverage $report --input-type jacoco --output coverage/codeclimate.$PROJECT.$TYPE.json
done
./cc-test-reporter sum-coverage coverage/codeclimate.*.json
./cc-test-reporter upload-coverage