c# - 如果 NDepend 查询引发警告,我如何自动使 nant 构建失败

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

OK,先介绍一些背景知识。我正忙于自动化我们的构建过程。我们混合运行 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 任务,但是 不会失败构建是源 可用,以便我可以添加此功能?

谢谢, 斯蒂芬

最佳答案

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

关于c# - 如果 NDepend 查询引发警告,我如何自动使 nant 构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/280730/

相关文章:

c# - 如何将复选框动态添加到 WPF 应用程序中的网格中

c# - WPF MVVM Light 单元测试 ViewModels

git - 通过覆盖 "CI detected, skipping Git hooks installation"在 Jenkins 管道作业中安装 husky git hooks

junit - 有 JUnit Attachments Jenkins 插件工作的示例吗?

continuous-integration - CruiseControl(或任何其他 CI 工具)比编写良好的 (n)Ant 提供了什么?

cruisecontrol.net - 如何更改 Cruise 控制配置文件中现有变量的值

c++ - 为什么使用 CruiseControl.NET 构建失败,但使用相同的设置可以手动构建?

c# - 使用EntityObjects与Ajax绑定(bind)的Telerik MVC网格获取“循环引用”异常

c# - 通过 PHP 与 .net 通信

.net - MS StyleCop 和 CruiseControl.NET