我在 MSBuild 脚本中使用SvnInfo 任务:
<SvnInfo LocalPath="$(Sources)">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnInfo>
$(Sources)
仅包含源文件。
显然SvnInfo
取决于$(Sources)
. Target 然后使用 info 生成带有修订号的输出文件。
实际上,我想在修订号更改时运行 SvnInfo,但在修订号与上次运行相同时不运行 Target(使用增量构建)。
如何在目标中正确指定输入(标签中的属性Inputs
,Target
包含SvnInfo
任务调用)?
我是通过以下方式制作的:
<ItemGroup>
<Target1Inputs Include="$(Sources)\**" />
</ItemGroup>
<Target Name="Target1" Inputs="@(Target1Inputs)" Outputs="...">
...
<!-- SvnInfo call here -->
<!-- File with revision number is created here -->
</Target>
在我看来它的解决方法,因为理想情况下我应该知道哪些文件SvnInfo
取决于哪些文件而不用猜测。是否有可能获得这样的信息?
我也不知道.svn
文件夹是否被修改。