Я использую Задача SvnInfo в скрипте MSBuild:
<SvnInfo LocalPath="$(Sources)">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnInfo>
$(Sources)
содержит только исходные файлы.
Очевидно, SvnInfo
зависит от файлов в $(Sources)
.
Затем целевой объект использует информацию для создания выходного файла с номером редакции.
На самом деле я хочу запускать SvnInfo при изменении номера редакции, но не запускать Target (использовать инкрементную сборку), когда номер редакции совпадает с предыдущим.
Как правильно указать ввод в 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
или нет.