我正在编写一个简单的MSBuild脚本,我想执行以下操作:
这个的背景是,我们有几个命令行静态分析和其他分析工具(想想StyleCop)。
我想运行一个 git diff 命令,只获取最新提交的文件,并将这些文件提供给StyleCop或其他任何分析工具。
我找不到有关如何使用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集合吗?
答案 0 :(得分:2)
如果将Exec任务的输出重定向到文件,则可以使用ReadLinesFromFile任务:http://msdn.microsoft.com/en-us/library/ms164299.aspx