Не удалось найти метод destination () после изменения версии Gradle - PullRequest
1 голос
/ 01 апреля 2020

Я изменил версию Gradle на 5.1.1 в своем проекте Android Studio, и у меня получилось ниже трассировки стека.

Ошибка:

Caused by: org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method destination() for arguments [...\app\build/reports/jacoco/betaDebug/jacoco.xml] on Report xml of type org.gradle.api.reporting.internal.TaskGeneratedSingleFileReport. 

Я знаю, что в Gradle 5.x setDestination (объектный файл) был удален, но я не могу найти ошибку, потому что я не использую setDestination (объектный файл) в моем проекте. Я думаю, что проблема в файле setDestination (объектный файл). Пожалуйста, помогите мне. Спасибо

Это мой setDestination (объектный файл):

    apply plugin: 'jacoco'

    jacoco {
        toolVersion = "0.7.2.201409121644"
    }

    project.afterEvaluate {
        // Grab all build types and product flavors
        def buildTypes = android.buildTypes.collect { type ->
            type.name
        }
        def productFlavors = android.productFlavors.collect { flavor ->
            flavor.name
        }

    // When no product flavors defined, use empty
    if (!productFlavors) productFlavors.add('')

    productFlavors.each { productFlavorName ->
        buildTypes.each { buildTypeName ->
            def sourceName, sourcePath
            if (!productFlavorName) {
                sourceName = sourcePath = "${buildTypeName}"
            } else {
                sourceName = "${productFlavorName}${buildTypeName.capitalize()}"
                sourcePath = "${productFlavorName}/${buildTypeName}"
            }
            def testTaskName = "test${sourceName.capitalize()}UnitTest"

            // Create coverage task of form 'testFlavorTypeCoverage' depending on 'testFlavorTypeUnitTest'
            task "${testTaskName}Coverage"(type: JacocoReport, dependsOn: "$testTaskName") {
                group = "Reporting"
                description = "Generate Jacoco coverage reports on the ${sourceName.capitalize()} build."

                classDirectories = fileTree(
                        dir: "${project.buildDir}/intermediates/classes/${sourcePath}",
                        excludes: [
                                '**/R.class',
                                '**/R$*.class',
                                '**/*$ViewInjector*.*',
                                '**/*$ViewBinder*.*',
                                '**/BuildConfig.*',
                                '**/Manifest*.*',
                                '**/activity/**',
                                '**/service/**',
                                '**/repository/**',
                                '**/application/**',
                                '**/utils/**',
                                '**/*Contract.*',
                                '**/*FeedEntry.*',
                                '**/*Prototype.*',
                                '**/*Prototype.*',
                                '**/htmltextview/**',
                                '**/iab/**',
                                '**/billing/**'
                        ]
                )

                def coverageSourceDirs = [
                        "src/main/java/com/habitcoach/android/model",
                        "src/$productFlavorName/java/com/habitcoach/android/model",
                        "src/$buildTypeName/java/com/habitcoach/android/model"
                ]
                additionalSourceDirs = files(coverageSourceDirs)
                sourceDirectories = files(coverageSourceDirs)
                executionData = files("${project.buildDir}/jacoco/${testTaskName}.exec")

                reports {
                    xml.enabled = true
                    html.enabled = true
                }
            }
        }
    }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...