0

我有一个使用 Sonarqube 插件 (org.sonarqube) 的 gradle 脚本。如果我让发布任务依赖它,它工作正常。

问题是只有在条件为真时才运行 sonarqube。所以我尝试了(如 gradle 文档中所述)所有这三个语句:

sonarqube.enabled (false)
sonarqube.enabled=false
sonarqube.onlyIf { false }

每个都会导致错误,这是我尝试第一个语句的错误

FAILURE: Build failed with an exception.

* Where:
Build file 'D:\Eclipse\workspace3.6\at.mic.hermes\build.gradle' line: 208

* What went wrong:
A problem occurred evaluating root project 'at.mic.hermes'.
> Could not find method enabled() for arguments [false] on org.sonarqube.gradle.SonarQubeExtension_Decorated@412196.

为了确保代码中没有错字,我尝试了测试任务的所有语句,例如

test.enabled(false)

这导致(如加速)

:test SKIPPED

任何想法我做错了什么/必须改变什么?提前谢谢!

坦率

4

1 回答 1

1

我认为问题来自名称冲突。有 2 个名为“sonarqube”的对象:

  • SonarQube 任务
  • SonarQube 扩展

它似乎不会破坏您的构建,但是当您编写sonarqube.enabled它时可以访问扩展(根据您的堆栈跟踪)。

解决方案可能是使用tasks.sonarqube.enabled. 请参阅https://docs.gradle.org/current/userguide/more_about_tasks.html#N11143

于 2016-07-27T10:23:23.997 回答