Я пытаюсь настроить build.gradle
для генерации и загрузки отчета о покрытии кода в сонар
import static org.apache.tools.ant.taskdefs.condition.Os.*
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.1"
}
}
plugins {
id "org.sonarqube" version "2.6.1"
id "java"
}
task sonarRunner {
sonarProperties {
property "sonar.host.url", sonar.host.url
property "sonar.organization", sonar.organization
property "sonar.projectKey", sonar.projectKey
property "sonar.login", sonar.login
property "sonar.jacoco.reportPath", sonar.jacoco.reportPath
}
}
task generateReport {
exec {
commandLine 'ant', 'jacoccoalltests', '-Dtestclasses.extensions=' + code.coverage.extensions
}
}
task checkOs() << {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine 'setantenv.bat'
}
if(Os.isFamily(Os.FAMILY_UNIX)) {
exec {
executable "./setantenv.sh"
}
}
if(Os.isFamily(Os.FAMILY_MAC)) {
exec {
executable ". ./setantenv.sh"
}
}
}
sonarRunner.dependsOn generateReport
generateReport.dependsOn checkOs
Когда я запускаю . / Gradlew clean build У меня появляется следующая ошибка
Вызвано: org.gradle.internal.metaobject.AbstractDynamicObject $ CustomMessageMissingMethodException: не удалось найти метод sonarProperties () для аргументов [build_5g79eps6d8kumu5fvgq9l0s46 $ @ 'sr0705).gradle.api.DefaultTask
Как я могу решить эту проблему?