Skip to content

jlin963/CodeBuildGradlePub

Repository files navigation

Codecov Gradle Example

  1. Add Jacoco Plugin to your build.gradle. See here
  2. Set Jacoco to export xml. See here
  3. Execute your tests as normal
  4. Call gradle jacocoTestReport to generate report. See here
  5. Call bash <(curl -s https://codecov.io/bash) to upload reports to Codecov. See here
  • Public project? Using TravisCI, CircleCI or AppVeyor? You're all set! No upload token required.
  • Otherwise please include your repository upload token. See here

Frequently Asked Questions

####❔ Do you support Multi-module projects?

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 "${buildDir}/reports/jacoco/report.xml"
        html.enabled false
        csv.enabled false
    }
}

codeCoverageReport.dependsOn {
    subprojects*.test
}

Update 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)

No need to have anything else report-related in child modules

Credits for multi-module

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages