Я пробую новую задачу Sonar Runner, недавно выпущенную в gradle 1.5. Что я хотел бы сделать, так это иметь возможность сделать задачу запуска сонара зависимой от другой задачи, чтобы я мог правильно установить свойства сонара для этого проекта (например, sonar.sources, sonar.binaries, sonar.libraries, sonar.java.source , сонар.java.цель).
В частности, я использую инструмент сборки osgi под названием bnd, который предоставит эти значения при выполнении задачи инициализации ant (обратите внимание, что, хотя я включаю файл bnd build.xml по умолчанию, моя полная сборка действительно выполняется с использованием gradle).
Я думал, что смогу настроить задачу запуска сонара, выполнив это (это многомодульная сборка):
subprojects {
sonarRunner.dependsOn init
}
В конце концов добавив что-то вроде этого (насколько я понимаю переменные bnd ant):
subprojects {
sonarRunner {
sonarProperties {
property "sonar.java.source", ant.property["project.sourcepath"]
property "sonar.java.target", ant.property["project.output"]
property "sonar.sources", ant.property["project.allsourcepath"]
property "sonar.libraries", ant.property["project.buildpath"]
}
}
sonarRunner.dependsOn init
}
К сожалению, когда я пытаюсь добавить зависимости, я получаю сообщение об ошибке:
* What went wrong:
A problem occurred evaluating root project 'myproject'.
> Could not find property 'init' on project ':com.company.myproject.mymodule'.
Если я попытаюсь сделать так, чтобы sonarRunner зависел от задачи gradle, я получаю следующую ошибку:
* What went wrong:
A problem occurred evaluating root project 'myproject'.
> Could not find method dependsOn() for arguments [task ':gradletask'] on org.gradle.api.sonar.runner.SonarRunnerExtension_Decorated@c4d7c0c.
Я пропустил что-то очевидное здесь? Если бы кто-то мог указать мне в правильном направлении, это было бы большой помощью.
sonar-runner
автоматически использует правильные значения. Обратите внимание, что Gradle также поддерживаетbnd
через плагинosgi
. - person Peter Niederwieser   schedule 08.04.2013