2013-04-10 4 views
1

У нас есть специальное требование относительно интеграции FxCop с TFS2010. Требование следующее. - Выполнять определенные интервалы build.in (уже существует метод) - Запустить FxCop после каждой сборки. (Это слишком просто и известно) - Если что-то не удается, необходимо создать элемент ошибки TFS и назначить человеку, который в последний раз проверял файл.FxCop - интеграция с TFS: нужно создать ошибку TFS до последней проверенной личности, если FxCop завершится с ошибкой

Мы знаем, что «gated checkin» - лучший способ. Но по некоторым причинам мы не можем это принять. Задача, с которой мы сталкиваемся, заключается в создании ошибок, связанных с последним проверенным лично для каждого файла.

Кто-нибудь раньше делал это решение? Есть ли какой-либо доступный код, который это делает?

Заранее спасибо.

+0

дела о последнем человеке, который изменил каждый файл, кажется, весьма специфично, doubtfull будет такая реализацией в общественных местах, более общем случае, как вы упомянуть CI построить с воротами фиксированием, другой вариантом был бы для развертывания политики проверки для запуска FxCop перед сеансами. Решение не очень сложно с помощью api - вам нужна операция сборки, которая принимает список ошибок FxCop (или только файлы ошибок) и находит элемент и получает его последнюю проверку из истории элементов управления источниками и создает ошибку для отправителя. – drk

+0

Спасибо, drk. Мы начали разработку с использованием TFS sdk. Мы искали любое общедоступное подобное решение/код, чтобы избежать кодирования :-). –

+0

Единственный проект, который я могу предложить, это http://tfsbuildextensions.codeplex.com/, но я сомневаюсь, что у них будет именно так, но это может быть хорошим примером и/или рекомендацией для ваших собственных усилий. – drk

ответ

2

Он был заполнен путем кодирования всей части. Основная идея заключается в следующем

  1. Возьмите последний и запустить скрипт exsting сборки(), которые производят PDB, а также
  2. В конце сценария сборки начинает FxCops с помощью FxCopCmd и получить вывод в XML-файл
  3. Разобрать XML и узнать узлы XML сообщения, которые содержат неудачные отзывы
  4. Извлечь путь код файла из приведенного выше узла XML
  5. Карта путь к файлу пути TFS (т.е. C: \ код пути TFS, начиная с $ \ code)
  6. Посмотреть последние просмотренные данные
  7. Создайте и назначьте ошибку этому человеку.

Это было связано с нашим проектом, где мы не можем реализовать закрытую проверку из-за большой базы кода и проверки высокочастотного кода. Но пришлось реализовывать автоматизированные обзоры.

Это может быть закрыт