如果NDepend查询引发警告,如何自动失败nant构建

时间:2008-11-11 12:13:09

标签: c# continuous-integration cruisecontrol.net nant ndepend

首先确定一些背景。我正忙于自动化构建过程。我们运行Vs 2005和VS 2008的混合物,目标平台2.0。我们使用Nant来使用MSBUILD任务来执行编译,使用Cruise Control .net来执行我们的CI。目前,我们将所有警告视为错误,如果任何FxCop规则失败(我们禁用的小子集除外),则构建失败,如果Simian检测到所有项目中的任何代码重复超过5行,则构建失败。

我编写了NDepend CQL查询来强制执行一些难以在FxCop中实现的规则。如果方法/类中的行数突破某个限制,我想使构建失败。如果方法的圈复杂度太高,我也想失败。

我可以轻松地将NDepend作为构建的一部分运行。但是如果我的CQL查询返回结果,我就无法使构建失败> 0

所以这就是问题:

  1. 有没有人尝试过 类似?
  2. 是否有Nant任务 支持这个?
  3. 如果有的话 一个调用NDepend的Nant任务,但是 没有失败的构建是源 我可以添加此功能吗?
  4. 谢谢, 斯蒂芬

2 个答案:

答案 0 :(得分:1)

我们所做的实际上是在解析输出文件后立即运行PowerShell脚本,并根据找到的条件引发一系列错误和相应的消息。一旦powershell抛出错误,构建就会失败。

答案 1 :(得分:0)

请参阅有关NDepend关键规则和构建失败的文档: http://www.ndepend.com/Doc_CI_CriticalRule.aspx