2013-11-25 2 views
1

Я использую этот новый решайер Command line tool в моей сборке Team, чтобы анализировать проблемы с кодом. Это прекрасно работает, он генерирует XML-файл со всеми проблемами кода.Анализ синтаксического анализа анализа xml по команде build

То, что я пытаюсь выполнить, заключается в анализе 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?

+0

Рассматривали ли вы отправку своей пользовательской деятельности в проект [Community TFS Build Extensions] (http://tfsbuildextensions.codeplex.com)? Я думаю, что мы начнем интеграцию resharper в процессе сборки в самом ближайшем будущем, и было бы неплохо провести это централизованное и тщательное тестирование. – julealgon

ответ

1

Я не знаю, существует ли синтаксический анализатор XML или его можно интегрировать в рабочий процесс, но есть возможность создать настраиваемую операцию сборки и связать ее с процессом сборки.

После этого активность может прочитать XML-файл, содержащий проблемы, и заполнить IEnumerable<string>. (или объект, я считаю, что вы должны иметь возможность создать объект и получить доступ к свойствам из рабочего процесса.) В вашем рабочем процессе вы можете затем захватить вывод, перечислить его, перебрать его и записать ошибки сборки или предупреждения (или и то и другое) в ваш результат сборки.

Ewald Hofman имеет отличное сообщение в блоге о том, как create your own activity, это на самом деле довольно легко и дает вам большой контроль над фактической работой.

+1

Я придумал это: https://gist.github.com/prebenh/7657656 –

-1

TeamCity в комплекте с бегуном ReSharper (http://confluence.jetbrains.com/display/TCD8/Inspections+%28.NET%29). У вас нет бегуна как автономного приложения. Ошибки из связанного бегуна рассматриваются как ошибки сборки.

+0

О, извините. Вы упомянули team-build, а не TeamCity ... – derigel

+1

Пожалуйста, следуйте за этой проблемой http://youtrack.jetbrains.com/issue/RSRP-395854, чтобы получить реализованный контрольный код в качестве задачи MSBuild. – derigel