如何从NDepend运行SonarQube,或将NDepend结果导入SonarQube?
SonarQube C# Ecosystem Plugin支持其他几种C#工具,但NDepend不是其中之一。商业和免费解决方案都是受欢迎的。
如果还没有可用的解决方案,NDepend API是否可以用合理的努力编写自定义插件SonarQube?
更新2014-12-11: NDepend团队今天有announcement正在开发SonarQube集成。预计2015年第二季度。他们还提到现在有一个新的第三方SonarQube plugin用于导入NDepend结果。
答案 0 :(得分:1)
我代表NDepend团队。拥有SonarQube的NDepend插件当然是一个好主意,我们希望在未来的NDepend vNext功能中提供开箱即用的功能。这也是在NDepend User Voice上排名的想法。
请通过电子邮件在ndepend dot com 的支持下回复我们。我们希望听到有关将NDepend结果导入SonarQube 的详细信息。
现在使用NDepend.API编写自己的插件是你不能等待的方法。 NDepend收集的100%数据(结构,指标,差异,趋势......)可通过API访问。 NDepend PowerTools源代码是开始使用NDepend API的正确位置,并了解如何实现主要的API使用方案。
答案 1 :(得分:1)
当我写SonarQube .Net ReSharper plugin时,我看了一下NDepend插件的潜力。最大的障碍是SonarQube需要插件在服务器启动时提供完整可能的违规(规则)列表,然后管理员必须通过Web UI手动启用(即:不< / strong>通过API)。在插件执行期间,没有用于通过SonarQube API添加或启用规则的API。
一旦规则存在,将NDepend结果与源代码行/文件相关联只是一个例外。 .Net ecosystem plugins以及我的ReSharper plugin都是开源的,可以在这一点上用于启发。
由于很多NDepend的强大功能来自于轻松创建自己的规则的能力,因此插件作者必须创建一些机制,以便将这些自定义规则放入SonarQube,而无需频繁重启SonarQube服务器。到目前为止,没有人花时间去做这件事,虽然听起来NDepend团队正在根据Patrick对这个问题的答案来考虑它。