Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }