protected override void DoExecute() { if (!_directoryAdapter.Exists(_srcDirPathProvider.Value)) { throw new DeploymentTaskException(string.Format("Source directory doesn't exist: '{0}'.", _srcDirPathProvider)); } if (!_directoryAdapter.Exists(_dstDirPath.Value)) { _directoryAdapter.CreateDirectory(_dstDirPath.Value); } _directoryAdapter.CopyAll(_srcDirPathProvider.Value, _dstDirPath.Value); }
protected override void DoExecute() { if (_directoryAdapter.Exists(_dstDirPath.Value)) { RetryUtils.RetryOnException( new[] { typeof(UnauthorizedAccessException) }, _DeleteDstDirRetriesCount, _DeleteDstDirRetryDelay, () => { _directoryAdapter.GetDirectories(_dstDirPath.Value) .Where(x => !_excludedDirs.Any(s => x.EndsWith(s, StringComparison.CurrentCultureIgnoreCase))) .ToList() .ForEach(dirPath => _directoryAdapter.Delete(dirPath, true)); _directoryAdapter.GetFiles(_dstDirPath.Value) .ToList() .ForEach(_fileAdapter.Delete); }); } else { _directoryAdapter.CreateDirectory(_dstDirPath.Value); } }