使用Sonar监控第三方组件使用情况

时间:2012-11-15 20:32:50

标签: sonarqube fxcop gendarme

我的客户端具有相当大的(> 150个解决方案)代码库。他们有一个他们的开发人员可以使用的已批准的第三方程序集列表,他们希望使用Sonar来帮助识别使用不在批准列表中的程序集的项目。

一个简单的例子:

  • 我的解决方案引用了foo.dll
  • Foo.dll不在已批准的第三方程序集列表中
  • 当我运行声纳分析
  • 时,我的解决方案使用foo.dll被报告为规则违规

这似乎是一个相当简单的要求,但我确定如何最好地在声纳中实现它有一些困难。

2 个答案:

答案 0 :(得分:1)

使用工具NDepend即时(免责声明:我是NDepend 的开发人员之一)。您只需编写代码规则:

//<Name>Forbidden third-party assemblies</Name>
warnif count > 0 
from a in ThirdParty.Assemblies.WithNameNotIn(
          "Foo1", "Foo2", "Foo3")
select a

et voila:

NDepend code rule

答案 1 :(得分:0)

我没有使用声纳的经验,并且您没有指定您的代码库是什么语言,但是一个非常简单和基本的解决方案可能是解析项目文件(通常是XML)并验证包含的引用。