Могу ли я настроить плагин Gradle Jacoco с различными пороговыми значениями для каждого подпроекта - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь настроить плагин jacoco для моей многомодульной сборки. Я хочу иметь порог по умолчанию, который может быть переопределен подпроектами по мере необходимости.

Это то, что у меня сейчас есть:

Root build.gradle

apply from: "gradle/jacoco.gradle"

Gradle / jacoco.gradle

subprojects {
    apply plugin:  'java'
    apply plugin: 'jacoco'

    ext {
        minimumLineRatioCovered = 0.7
        minimumBranchRatioCovered = 0.7
    }

    jacocoTestCoverageVerification {
        violationRules {
            rule {
                limit {
                    counter = 'LINE'
                    value = 'COVEREDRATIO'
                    minimum = minimumLineRatioCovered
                }
            }

            rule {
                limit {
                    counter = 'BRANCH'
                    value = 'COVEREDRATIO'
                    minimum = minimumBranchRatioCovered
                }
            }
        }
    }

    check.dependsOn jacocoTestCoverageVerification
}

Подпроект build.gradle

minimumLineRatioCovered = 0.6
minimumBranchRatioCovered = 0.6

Когда я запускаю gradle jacocoTestCoverageVerification, я получаю следующую ошибку:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':subproject:jacocoTestCoverageVerification'.
> Rule violated for bundle subproject: lines covered ratio is 0.6, but expected minimum is 0.7
  Rule violated for bundle subproject: branches covered ratio is 0.6, but expected minimum is 0.7

IsЕсть простой способ достичь этого, не переписывая всю задачу jacocoTestCoverageVerification каждый раз?

...