簡體   English   中英

無法添加任務':jacocoTestReport'作為具有該名稱的任務已存在

[英]Cannot add task ':jacocoTestReport' as a task with that name already exists

我正在嘗試添加以下任務,以便我可以在我的java + kotlin項目中獲取一些覆蓋數據(對於它的價值,這是一個gradle項目)...但是我收到以下錯誤:

“無法添加任務':jacocoTestReport'作為具有該名稱的任務已經存在”

這是我要添加的實際任務:

task jacocoTestReport(type: JacocoReport, dependsOn: "testDebugUnitTest") {
group = "Reporting"
description = "Generate Jacoco coverage reports for Debug build"

reports {
    xml.enabled = true
    html.enabled = true
}

// what to exclude from coverage report
// UI, "noise", generated classes, platform classes, etc.
def excludes = [
        '**/R.class',
        '**/R$*.class',
        '**/*$ViewInjector*.*',
        '**/BuildConfig.*',
        '**/Manifest*.*',
        '**/*Test*.*',
        'android/**/*.*',
        '**/*Fragment.*',
        '**/*Activity.*'
]
// generated classes
classDirectories = fileTree(
        dir: "$buildDir/intermediates/classes/debug",
        excludes: excludes
) + fileTree(
        dir: "$buildDir/tmp/kotlin-classes/debug",
        excludes: excludes
)

// sources
sourceDirectories = files([
        android.sourceSets.main.java.srcDirs,
        "src/main/kotlin"
])
    executionData = files("$buildDir/jacoco/testDebugUnitTest.exec")
}

現在,我在這里感到困惑的問題是,我無法在任何地方找到這個名字的另一類...所以也許有一些時髦的事情發生了? 我試過谷歌搜索,但還沒有找到真正幫助我解決問題的任何東西。

所有幫助非常感謝。 我意識到這不是java或kotlin特定的問題 - 但由於它是一個聯合的java + kotlin項目,我想我會在這個問題中標記兩個,以防有其他人見過的細微問題。

假設您已經應用了Jacoco Gradle插件,那么是的,它已經定義了一個名為jacocoTestReport的任務,因此錯誤。

您需要做的就是根據文檔https://docs.gradle.org/current/userguide/jacoco_plugin.html#sec:jacoco_report_configuration定義您的具體設置

一個例子如下:

jacocoTestReport {
  dependsOn "testDebugUnitTest"
    reports {
        xml.enabled = true
        html.enabled = true
    }
}

您列出的大多數其他配置項都屬於'jacoco'配置塊。 https://docs.gradle.org/current/userguide/jacoco_plugin.html#sec:jacoco_specific_task_configuration

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM