В MSBuild я могу использовать задачу Copy
для копирования файлов из одного места в другое.
Я также могу использовать свойство SkipUnchangedFiles
, чтобы указать, что файлы не следует копировать, если они не изменились.
Существует ли стандартный шаблон для прогнозирования последующего действия при условии, что один или несколько файлов были скопированы?
Например:
- Скопируйте все обновленные сценарии развертывания
- Выполнить пакетный файл, который запускает все сценарии развертывания, в правильном порядке, тогда и только тогда, когда один или несколько сценариев изменились
Еще одно осложнение заключается в том, что я использую задачу CreateItem
для динамического создания списка входных файлов:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="CopyAndRun">
<Target Name="CopyAndRun">
<CreateItem Include="In\**\*Test*.txt">
<Output TaskParameter="Include" ItemName="SourceFiles"/>
</CreateItem>
<Copy SourceFiles="%(SourceFiles.Identity)" DestinationFolder="Out\%(RecursiveDir)" SkipUnchangedFiles="true" />
<!-- Only want to execute this if updated files were copied -->
<Message Text="Running..." />
</Target>
</Project>