From e6833c30075aebc4e19cd72bcdb18b5b4a0ef9b9 Mon Sep 17 00:00:00 2001 From: Prominence Date: Mon, 18 Apr 2022 23:24:16 +0300 Subject: [PATCH] Added jacoco test coverage report generation. --- .cirrus.yml | 10 ++++++---- build.gradle | 17 ++++++++++++++++- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 77b2369..e3331f6 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,13 +1,15 @@ container: - image: gradle:jdk11 + image: gradle:jdk17 -check_task: +testCoverage_task: gradle_cache: folder: ~/.gradle/caches - check_script: gradle check + check_script: gradle jacocoTestReport cleanup_before_cache_script: - rm -rf ~/.gradle/caches/$GRADLE_VERSION/ - rm -rf ~/.gradle/caches/transforms-1 - rm -rf ~/.gradle/caches/journal-1 - rm -rf ~/.gradle/caches/jars-3/*/buildSrc.jar - - find ~/.gradle/caches/ -name "*.lock" -type f -delete \ No newline at end of file + - find ~/.gradle/caches/ -name "*.lock" -type f -delete + always: + sendCoverageStatistics: bash <(curl -s https://codecov.io/bash) diff --git a/build.gradle b/build.gradle index 2af69ed..de83fb2 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,7 @@ plugins { id 'java-library' id 'maven-publish' id 'signing' + id 'jacoco' } repositories { @@ -21,7 +22,7 @@ dependencies { group = 'com.github.prominence' version = '3.0.0-SNAPSHOT' description = 'Java OpenWeatherMap API' -java.sourceCompatibility = JavaVersion.VERSION_11 +java.sourceCompatibility = JavaVersion.VERSION_17 ext { isReleaseVersion = !version.endsWith("SNAPSHOT") @@ -32,6 +33,10 @@ java { withJavadocJar() } +test { + useJUnitPlatform() +} + publishing { publications { mavenJava(MavenPublication) { @@ -94,3 +99,13 @@ tasks.withType(JavaCompile) { tasks.withType(GenerateModuleMetadata) { enabled = false } + +jacocoTestReport { + dependsOn test // tests are required to run before generating the report + reports { + xml.required = false + csv.required = false + html.outputLocation = layout.buildDirectory.dir('jacocoHtml') + } +} +