2

好的,首先一些背景。我正忙于自动化我们的构建过程。我们混合运行 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 回答 2

1

我们所做的实际上是在解析输出文件之后立即运行一个 powershell 脚本,并根据它找到的条件抛出一系列带有适当消息的错误。一旦 powershell 抛出错误,构建就会失败。

于 2008-11-11T15:15:27.003 回答
0

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

于 2011-06-01T10:09:21.817 回答