与上一篇文章NDepend SonarQube integration generates java.lang.NullPointerException类似,在尝试将NDepend 6.3集成到SonarQube 6.1中时,会生成NullPointerException:
java.lang.NullPointerException: The property "sonar.cs.ndepend.projectPath" must be set (to an absolute path)
我已关注these instructions:但我无法找到如何设置sonar.cs.ndepend.projectPath
。当我通过命令提示符执行NDepend.SonarQube.RuleRunner.exe
,指定.ndproj路径和报告文件位置时,分析运行完美。但是,通过VSTS中的构建执行的NDepend Sonarqube插件,它会生成错误。
我还尝试在Narpend选项卡中为SonarQube的管理面板/配置页面下的Path to NDepend.SonarQube.RuleRunner.exe
文本框指定的绝对路径后添加项目路径和报告文件的参数服务器。就像在命令提示符下运行一样。但是,在通过命令提示符运行时,参数不会被解析。它们只是绝对路径的一部分。
我可以看到这个文件中设置三个键的位置:SonarQubeAnalysisConfig.xml
位于我的LFS上:
G:\SonarQube\bin\vsts-agent-win7-x64-2.109.1\_work\2\.sonarqube\conf
。每次在VSTS中启动构建时都会生成此文件。所以,我无法在那里设置sonar.cs.ndepend.projectPath
。
所以,我的问题是:我在哪里可以指定sonar.cs.ndepend.projectPath
?那么,这个价值被拿起来使用了吗?
答案 0 :(得分:1)
如果您使用在线VSTS,则无法启动NDepend分析,因为它必须不存在于构建计算机中。但是,如果您将VSTS与onprem实例一起使用,则可以按照我们的doc中所述的说明进行操作,并在" SonarQube Scanner for MSBuild- End Analysis"的参数中指定sonar.cs.ndepend.projectPath。任务。
答案 1 :(得分:0)
使用托管构建时,您需要将NDepend提交到源代码控制或将其作为构建工作流程的一部分下载,将其解压缩并将许可证文件放在旁边。完成后,您可以在构建中使用它。