Я пишу простой скрипт MSBuild, в котором я хотел бы выполнить следующее:
- Запустить инструмент командной строки, используя задачу Exec.
- Получить выходные данные из инструментав некоторый набор элементов.
- Используйте этот набор в качестве входных данных для другой задачи.
В этом контексте у нас есть несколько статических средств анализа командной строки и других инструментов анализа (подумайте оStyleCop).
Я хотел бы запустить команду git diff , получить ТОЛЬКО файлы из последнего коммита и передать их в StyleCop или любые другие инструменты анализа.
Iне удалось найти ссылку на то, как это сделать с помощью задачи Exec.
РЕДАКТИРОВАТЬ: я пытаюсь использовать задачу ReadLinesFromFile:
<Exec
Command="git diff --name-only HEAD~1 HEAD > C:\output.txt"
WorkingDirectory="D:\Code" />
<ReadLinesFromFile
File="C:\output.txt">
<Output
TaskParameter="Lines"
ItemName="ItemsFromFile" />
</ReadLinesFromFile>
<StyleCopTask
ProjectFullPath="$(MSBuildProjectFile)"
SourceFiles="@(ItemsFromFile)"
ForceFullAnalysis="true"
TreatErrorsAsWarnings="true"
OutputFile="StyleCopReport.xml"
CacheResults="true" />
Но это нене работает.
Правильно ли я использую коллекцию ItemsFromFile?