Codecov Gradle Example
Add to your .travis.yml
file.
language: java
jdk:
- oraclejdk8
before_script:
- chmod +x gradlew
script:
- ./gradlew check
- ./gradlew codeCoverageReport
after_success:
- bash <(curl -s https://codecov.io/bash)
- Add Jacoco Plugin to your
build.gradle
. See here - Set Jacoco to export xml. See here
- Execute your tests as normal
- Call
gradle jacocoTestReport
to generate report. See here
- Q: Do you support Multi-module projects?
A:Update your parent (root)build.gradle
:
allprojects {
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'jacoco'
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenLocal()
mavenCentral()
jcenter()
maven { url "http://repo1.maven.org/maven2/" }
}
}
subprojects {
dependencies {
...
}
test.useTestNG()
}
task codeCoverageReport(type: JacocoReport) {
executionData fileTree(project.rootDir.absolutePath).include("**/build/jacoco/*.exec")
subprojects.each {
sourceSets it.sourceSets.main
}
reports {
xml.enabled true
xml.destination file("${buildDir}/reports/jacoco/report.xml")
html.enabled false
csv.enabled false
}
}
codeCoverageReport.dependsOn {
subprojects*.test
}
Repository tokens are required for (a) all private repos, (b) public repos not using Travis-CI, CircleCI or AppVeyor. Find your repository token at Codecov and provide via appending -t <your upload token>
to you where you upload reports.