| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
|
| 9 |
set -u |
| 10 |
cd "$(dirname "$0")/.." |
| 11 |
status=0 |
| 12 |
|
| 13 |
|
| 14 |
|
| 15 |
|
| 16 |
jdks=$(ls -d /opt/gradle-home/jdks/*/ 2>/dev/null | sed 's:/$::' | paste -sd, -) |
| 17 |
if [ -n "$jdks" ] && [ -n "${GRADLE_USER_HOME:-}" ]; then |
| 18 |
mkdir -p "$GRADLE_USER_HOME" |
| 19 |
{ |
| 20 |
echo "org.gradle.java.installations.paths=$jdks" |
| 21 |
echo "org.gradle.java.installations.auto-download=false" |
| 22 |
} >> "$GRADLE_USER_HOME/gradle.properties" |
| 23 |
fi |
| 24 |
gradle --offline --no-daemon --continue \ |
| 25 |
:app:createDebugUnitTestCoverageReport \ |
| 26 |
:app:assembleDebug || status=$? |
| 27 |
|
| 28 |
{ |
| 29 |
echo '<?xml version="1.0" encoding="UTF-8"?>' |
| 30 |
echo '<testsuites>' |
| 31 |
for f in app/build/test-results/testDebugUnitTest/TEST-*.xml; do |
| 32 |
[ -f "$f" ] && sed '/^<?xml /d' "$f" |
| 33 |
done |
| 34 |
echo '</testsuites>' |
| 35 |
} > junit.xml |
| 36 |
report=app/build/reports/coverage/test/debug/report.xml |
| 37 |
if [ -f "$report" ]; then |
| 38 |
cp "$report" coverage.xml |
| 39 |
else |
| 40 |
echo "ci: no coverage report at $report" >&2 |
| 41 |
[ "$status" -ne 0 ] || status=1 |
| 42 |
fi |
| 43 |
exit "$status" |