如何从gradle插件读取gradle sonar runner属性?

如何从gradle插件读取gradle sonar runner属性?,gradle,sonarqube,sonar-runner,Gradle,Sonarqube,Sonar Runner,我正在编写一个定制的Gradle插件,它应用了Gradle sonar runner插件并默认了一些参数。我想编写一个测试来确认属性设置是否正确,但我无法确定设置后如何访问数据 我尝试了project.getExtensions().sonarRunner.sonarProperties.getProperties()和一些变体,但这要么抛出空指针,要么返回除sonar属性以外的其他内容 设置声纳属性后,是否可以读取声纳属性?如何处理?对于我们自己的测试,我们使用一个“秘密”属性,它将转储文件中

我正在编写一个定制的Gradle插件,它应用了Gradle sonar runner插件并默认了一些参数。我想编写一个测试来确认属性设置是否正确,但我无法确定设置后如何访问数据

我尝试了
project.getExtensions().sonarRunner.sonarProperties.getProperties()
和一些变体,但这要么抛出空指针,要么返回除sonar属性以外的其他内容


设置声纳属性后,是否可以读取声纳属性?如何处理?

对于我们自己的测试,我们使用一个“秘密”属性,它将转储文件中的所有SQ属性,以便您可以在其上编写断言

-DsonarRunner.dumpToFile=out.properties

例如,请参见我如何为新的Gradle SonarQube插件编写集成测试:

这对我很有效,请记住用引号传入属性键:

project.tasks.sonarRunner.sonarProperties.get("sonar.host.url")

基本上,所有属性都应该可以通过
project.propertyName
访问。你试过了吗?@Opal我试过'project.sonar.host.url'和'project.sonar.host.url',但都没用。我也尝试了
project.sonarRunner.sonarProperties
,但是
sonarProperties
“找不到”。您试图在SQ插件上设置哪些属性?如果这不是太具体,我们可能会改进SQ插件以支持您的本机用例?@JulienH.-SonarSourceTeam Hello Julien,我正在使用我的自定义插件设置主机url以及所有必要的jdbc属性(url、驱动程序类、用户名和密码)。我还默认了sonar分析模式和一些
问题报告
属性。@JulienH.-SonarSourceTeam我通过中的插件设置sonar属性没有任何问题,我的问题是我无法再次读取它们以验证它们是否已设置。谢谢,这正是我所需要的。