private bool TryToTransformSingleFileSource(SingleFileSource source, FilesList filesList) { if (!_transformations.ContainsKey(source.Id)) { return(false); } CopyProcessorTransformation transformation = _transformations[source.Id]; if ((transformation.Options & CopyProcessorTransformationOptions.SingleFile) == 0) { return(false); } LocalPath destinationPath = transformation.DestinationPath; PackagedFileInfo sourceFile = source.ListFiles().ToList().First(); FullPath destinationFullPath = _destinationRootDir.CombineWith(destinationPath); FileFullPath destinationFileFullPath = destinationFullPath.ToFileFullPath(); filesList.AddFile(new PackagedFileInfo(destinationFileFullPath)); _copier.Copy(sourceFile.FileFullPath, destinationFileFullPath); return(true); }
public IPackageDef Process(IPackageDef packageDef) { StandardPackageDef zippedPackageDef = new StandardPackageDef(); List <FileFullPath> filesToZip = new List <FileFullPath>(); foreach (IFilesSource childSource in packageDef.ListChildSources()) { if (_sourcesToZip.Contains(childSource.Id)) { foreach (PackagedFileInfo file in childSource.ListFiles()) { if (!LoggingHelper.LogIfFilteredOut(file.FileFullPath.ToString(), _filter, _taskContext, _logFiles)) { continue; } if (_logFiles) { _taskContext.LogInfo($"Adding file '{file.FileFullPath}' to zip package"); } filesToZip.Add(file.FileFullPath); } } } _zipper.ZipFiles(_zipFileName, _baseDir, filesToZip, _optimizeFiles); SingleFileSource singleFileSource = new SingleFileSource("zip", _zipFileName); zippedPackageDef.AddFilesSource(singleFileSource); return(zippedPackageDef); }