Разбор анализа кода Resharper xml при сборке команды
Я использую этот новый инструмент командной строки Resharper в моей сборке Team для анализа проблем с кодом. Это прекрасно работает, он генерирует файл XML со всеми проблемами кода.
Я пытаюсь выполнить синтаксический анализ XML. Для каждого выпуска я хочу написать предупреждение о сборке или ошибка сборки.
XML выглядит так:
<Report ToolsVersion="8.0">
<IssueTypes>...</IssueTypes>
<Project Name="FooBar">
<Issue TypeId="FieldCanBeMadeReadOnly.Local" File="Builder.cs" Offset="266-277" Line="10" Message="Field can be made readonly" />
...
</Project>
</Report>
Доступен ли какой-нибудь xml-анализатор, который я могу подключить к своему шаблону процесса сборки? Или мне нужно сделать свое собственное консольное приложение, которое анализирует xml?
2 ответа
Я не знаю, существует ли синтаксический анализатор XML или его можно интегрировать в рабочий процесс, но есть возможность создать пользовательское действие сборки и подключить его к процессу сборки.
Затем действие может прочитать файл XML, содержащий проблемы, и заполнить IEnumerable<string>
, (или объект, я полагаю, вы должны быть в состоянии создать объект и получить доступ к свойствам из рабочего процесса.) В вашем рабочем процессе вы можете затем захватить вывод перечисляемого, зациклить его и записать ошибки сборки или предупреждения (или оба) в ваш результат сборки.
Эвальд Хофман (Ewald Hofman) имеет отличный пост в блоге о том, как создать свою собственную деятельность, на самом деле это довольно просто и дает вам большой контроль над фактической работой.
TeamCity поставили в комплекте ReSharper Runner ( http://confluence.jetbrains.com/display/TCD8/Inspections+%28.NET%29). Вы не запускаете Runner как отдельное приложение. Ошибки в комплекте бегуна рассматриваются как ошибки сборки.