How to build jacoco test report task in Kotlin (Gradle 5)

Alix

I have this Groovy script that I would like to convert into Kotlin (build.gradle.kts). Can somebody help me out or give me a pointer?

Groovy (works):

    task jacocoTestReport(type: JacocoReport) {
        group = "Reporting"
        description = "Generate Jacoco coverage reports"
        reports {
            xml.enabled = true
            html.enabled = false
            csv.enabled = false
        }
        def fileFilter = ['**/BuildConfig.class', 'src/main/gen/**/*', 'src/main/assets/**/*',]
        def debugTree = fileTree(dir: "${buildDir}/intermediates/javac/debug/classes", excludes: fileFilter)
        def mainSrc = "${project.projectDir}/src/main"
        sourceDirectories = files([mainSrc])
        classDirectories = files([debugTree])
        executionData = fileTree(dir: project.projectDir, includes: ['**/**/*.exec', '**/**/*.ec'])
    }

Kotlin (my failed attempt, does not work):

    tasks.register("jacocoTestReport", JacocoReport::class) {
        group = "Reporting"
        description = "Generate Jacoco coverage reports"

        this.reports.csv.setEnabled(false)
        this.reports.html.setEnabled(false)
        this.reports.xml.setEnabled(true)
        val debugTree = fileTree("${buildDir}/intermediates/javac/debug/classes").filter { file ->
            return@filter file.absolutePath.startsWith("src/main/gen/") ||
                    file.absolutePath.startsWith("src/main/assets/") ||
                    file.absoluteFile.endsWith("BuildConfig.class")
        }
        val mainSrc = "${project.projectDir}/src/main"
        sourceDirectories.setFrom(files(mainSrc))
        classDirectories.setFrom(files(debugTree))
        val executionTree = fileTree(project.projectDir).filter { file ->
            return@filter !(file.absoluteFile.endsWith(".exec") || file.absoluteFile.endsWith(".ec"))
        }
        executionData.setFrom(executionTree)
    }

Update: This may work. That no XML is created is not related to the content of the script. See accepted answer. But anyway, the accepted answer is a more logical rewrite.

madhead

Try something like this:

tasks.register("jacocoTestReport", JacocoReport::class) {
    group = "Reporting"
    description = "Generate Jacoco coverage reports"

    reports {
        csv.isEnabled = false
        html.isEnabled = false
        xml.isEnabled = true
    }

    sourceDirectories.setFrom(files("${project.projectDir}/src/main"))
    classDirectories.setFrom(
            fileTree("${buildDir}/intermediates/javac/debug/classes") {
                setExcludes(setOf("**/BuildConfig.class", "src/main/gen/**/*", "src/main/assets/**/*"))
            }
    )
    executionData.setFrom(
            fileTree(project.projectDir) {
                setIncludes(setOf("**/**/*.exec", "**/**/*.ec"))
            }
    )
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

How to configure build.gradle using Junit5 and Jacoco for test coverage

分類Dev

How to capture stdout/stderr in junit 5 gradle test report?

分類Dev

Run gradle build(test) in subprojects in a custom task

分類Dev

How to report Jacoco Groovy code coverage to Sonar using new Gradle SonarQube plugin?

分類Dev

Jacoco with gradle and kotlin is not creating jacoco.exec file

分類Dev

Kotlinでjacocoテストレポートタスクを作成する方法(Gradle 5)

分類Dev

Override Task in build.gradle

分類Dev

How to give System property to my test via Kotlin Gradle and -D

分類Dev

build.gradle.ktsとkotlinとJUnitの5を使用する方法?

分類Dev

Gradle build: Execution failed for task ':app:lint'

分類Dev

Gradle build: Execution failed for task ':app:lint'

分類Dev

Kotlin Multiplatform Gradle unit test not resolving kotlin.test reference

分類Dev

How do I show a list of all the test failures after completion of a gradle task involving tests

分類Dev

Empty Jacoco report for Android Espresso

分類Dev

How to include a dependency to parent test classes for a submodule in a Gradle multiple project build?

分類Dev

テストカバレッジのためにJunit5とJacocoを使用してbuild.gradleを構成する方法

分類Dev

Android gradle - top level vs module level "build" task

分類Dev

Android kotlin project build stuck on app:kaptDebugKotlin task

分類Dev

make gradle dependency task to exclude test dependencies in its result

分類Dev

Configuration for Gradle 4.7 to generate the HTML report for JUnit 5 tests

分類Dev

What does ext.kotlin_version = '+' mean in Build.gradle?

分類Dev

Gradle Spring Cloud Stream project does not build because of test dependency

分類Dev

How to define a variable for all Gradle subprojects using Gradle Kotlin DSL

分類Dev

How to build single APK with Android NDK and Gradle

分類Dev

Gradle how to build extra source sourceSets?

分類Dev

how to build project for different sourceCompatibility and targetCompatibility in gradle

分類Dev

How to run Karate and Gatling with Gradle build system

分類Dev

How to build a gradle jar from a github library

分類Dev

How to build multiple APKs at once using Gradle?

Related 関連記事

  1. 1

    How to configure build.gradle using Junit5 and Jacoco for test coverage

  2. 2

    How to capture stdout/stderr in junit 5 gradle test report?

  3. 3

    Run gradle build(test) in subprojects in a custom task

  4. 4

    How to report Jacoco Groovy code coverage to Sonar using new Gradle SonarQube plugin?

  5. 5

    Jacoco with gradle and kotlin is not creating jacoco.exec file

  6. 6

    Kotlinでjacocoテストレポートタスクを作成する方法(Gradle 5)

  7. 7

    Override Task in build.gradle

  8. 8

    How to give System property to my test via Kotlin Gradle and -D

  9. 9

    build.gradle.ktsとkotlinとJUnitの5を使用する方法?

  10. 10

    Gradle build: Execution failed for task ':app:lint'

  11. 11

    Gradle build: Execution failed for task ':app:lint'

  12. 12

    Kotlin Multiplatform Gradle unit test not resolving kotlin.test reference

  13. 13

    How do I show a list of all the test failures after completion of a gradle task involving tests

  14. 14

    Empty Jacoco report for Android Espresso

  15. 15

    How to include a dependency to parent test classes for a submodule in a Gradle multiple project build?

  16. 16

    テストカバレッジのためにJunit5とJacocoを使用してbuild.gradleを構成する方法

  17. 17

    Android gradle - top level vs module level "build" task

  18. 18

    Android kotlin project build stuck on app:kaptDebugKotlin task

  19. 19

    make gradle dependency task to exclude test dependencies in its result

  20. 20

    Configuration for Gradle 4.7 to generate the HTML report for JUnit 5 tests

  21. 21

    What does ext.kotlin_version = '+' mean in Build.gradle?

  22. 22

    Gradle Spring Cloud Stream project does not build because of test dependency

  23. 23

    How to define a variable for all Gradle subprojects using Gradle Kotlin DSL

  24. 24

    How to build single APK with Android NDK and Gradle

  25. 25

    Gradle how to build extra source sourceSets?

  26. 26

    how to build project for different sourceCompatibility and targetCompatibility in gradle

  27. 27

    How to run Karate and Gatling with Gradle build system

  28. 28

    How to build a gradle jar from a github library

  29. 29

    How to build multiple APKs at once using Gradle?

ホットタグ

アーカイブ