public bool Run(bool preview) { Log.Information($"Task: {_taskCreator.Description}"); UpdateFolderOptions options = _folder.Options; FolderFinder finder = new FolderFinder(); FolderUpdater updater = new FolderUpdater(); _onUpdate(); var folders = finder .FindWithMask( options.WorkingDirectory, options.Masks, options.Recursively) .ToArray(); bool atLeastOneUpdated = false; _onUpdate(); updater.Run( folders, folder => { IFolderOrFileTask task = _taskCreator.Create(); atLeastOneUpdated |= task.Run(folder, options.WithPreview(preview)); _onUpdate(); }); if (!atLeastOneUpdated) { Log.Information("\tTask completed. No changes."); } return(atLeastOneUpdated); }
public WithTargetFolderOrFile(FolderOrFileTaskCreator <TCreator> taskCreator) { if (string.IsNullOrEmpty(taskCreator.Path)) { throw new ArgumentException("Path is not set."); } File = new TargetFile <TCreator>( UpdateFileOptions.Create(taskCreator.Path), taskCreator); Folder = new TargetFolder <TCreator>( UpdateFolderOptions.Create(taskCreator.Path), taskCreator); }
public TargetFolder(UpdateFolderOptions options, FolderOrFileTaskCreator <TCreator> taskCreator) : base(options, taskCreator) { }