java - 无法添加任务 ':jacocoTestReport',因为同名任务已存在

标签 java gradle kotlin jacoco

我正在尝试添加以下任务,以便我可以在我的 java + kotlin 项目中获得一些覆盖率数据(就其值(value)而言,这是一个 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”配置 block 。 https://docs.gradle.org/current/userguide/jacoco_plugin.html#sec:jacoco_specific_task_configuration

关于java - 无法添加任务 ':jacocoTestReport',因为同名任务已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49372067/

相关文章:

java - 如果浏览器关闭或断电,是否可以使 spring mvc session 无效?

gradle - 如何从Gradle中的另一个插件获取已解析的配置对象?

java - Android:在 3 个 Activity 之间传递相同的变量?

android - java.lang.NoSuchMethodError in external java dependency inside the java dependency from Kotlin on Android 5

gradle - 尝试应用到其他项目时找不到独立的Kotlin Gradle插件

java - Mapstruct 使用多个参数隐式调用其他映射器

java - 通过 ADB 从 JavaFX 应用程序操作 Android 设备

java - 具有特定 Product Flavors 依赖性的 android-library

安卓工作室 0.8.2 "Gradle project sync failed."

java - 如何使 Spring Data Elasticsearch 使用 java.time.LocalDateTime 获取日期