2008-11-11 8 views
2

OK сначала некоторый фон. Я занят автоматизацией нашего процесса сборки. Мы запускаем смесь Vs 2005 и VS 2008 с таргетингом на платформу 2.0. Мы используем Nant для выполнения наших сборок с помощью задачи MSBUILD для выполнения компиляции и Cruise Control .net для выполнения нашего CI. В настоящее время мы обрабатываем все предупреждения как ошибки, выходим из строя, если какие-либо правила FxCop терпят неудачу (за исключением небольшого подмножества, которое мы отключили), выходят из строя, если Simian обнаруживает дублирование кода из более чем 5 строк во всех проектах.Как автоматически сбой при сборке nant, если запрос NDepend вызывает предупреждение

Я написал NDepend CQL-запрос, чтобы обеспечить соблюдение нескольких правил, которые трудно реализовать в FxCop. Я хочу сбой сборки, если количество строк в методе/классе нарушает определенный предел. Я также хочу потерпеть неудачу, если циклическая сложность метода слишком велика.

Я могу легко запустить NDepend как часть моей сборки. Но я не могу получить сборки на провал, если мои CQL запросы возвращают результаты> 0

Так что это вопрос:

  1. ли кто-нибудь пробовал что-то подобное ?
  2. Есть ли задача Nant , которая поддерживает это?
  3. Если есть задача Nant, которая вызывает NDepend, но не подводит, что сборка является источником , поэтому я могу добавить эту функцию?

Спасибо, Стивен

ответ

1

Что мы делаем на самом деле имеют PowerShell скрипт запустить сразу после того, что разбирает через выходной файл и генерирует ряд ошибок с соответствующим сообщением в зависимости от того, какое условие он нашел. Как только powershell выдает ошибку, сборка не выполняется.

+0

Спасибо Алекс, как что работает для вас? Готовы ли вы поделиться сценарием? Если я сделаю какие-либо изменения или улучшения, я был бы рад вернуть их вам. – user36533 2008-11-12 10:06:18