public StandardPackageDef AddFolderSource(string id, string directoryName, bool recursive, IFileFilter filter) { DirectorySource source = new DirectorySource(Logger, FileLister, id, directoryName, recursive); source.SetFilter(filter); AddFilesSource(source); return(this); }
public StandardPackageDef AddWebFolderSource(string id, string directoryName, bool recursive) { DirectorySource source = new DirectorySource(Logger, FileLister, id, directoryName, recursive); source.SetFilter(new NegativeFilter( new RegexFileFilter(@"^.*\.(svc|asax|config|aspx|ascx|css|js|gif|PNG)$"))); AddFilesSource(source); return(this); }
public StandardPackageDef AddWebFolderSource(string id, FullPath directoryName, bool recursive) { DirectorySource source = new DirectorySource(taskContext, fileLister, id, directoryName, recursive); source.SetFilter(new NegativeFilter( new RegexFileFilter(@"^.*\.(svc|asax|config|aspx|ascx|css|js|gif|png|jpg|jpeg|Master|eot|svg|ttf|woff|cshtml|swf|html|ico|txt|xml|json)$"))); AddFilesSource(source); return(this); }
private void Setup() { logger = MockRepository.GenerateStub <ILogger>(); filesList1 = new[] { @"somedir1\file1.txt", @"somedir1\file2.txt", @"somedir1\file3.txt" }; filesList2 = new[] { @"somedir2\file1.txt", @"somedir2\file2.txt", @"somedir2\file3.txt", @"somedir2\subdir\filex.txt" }; ConvertToFullPath(filesList1); ConvertToFullPath(filesList2); package = new StandardPackageDef(); directoryFilesLister = MockRepository.GenerateMock <IDirectoryFilesLister>(); directoryFilesLister.Expect(x => x.ListFiles( Path.GetFullPath("somedir1"), true)).Return(filesList1); directoryFilesLister.Expect(x => x.ListFiles( Path.GetFullPath("somedir2"), true)).Return(filesList2); DirectorySource dir1 = new DirectorySource( logger, directoryFilesLister, "console", "somedir1"); dir1.SetFilter(new RegexFileFilter("File3")); package.AddFilesSource(dir1); DirectorySource dir2 = new DirectorySource( logger, directoryFilesLister, "win.service", "somedir2"); package.AddFilesSource(dir2); copier = MockRepository.GenerateMock <ICopier>(); }
protected override int DoExecute(ITaskContextInternal context) { if (_sourcePackagingInfos.Count == 0) { return(0); } if (string.IsNullOrEmpty(_destinationRootDir)) { _destinationRootDir = context.Properties.GetOutputDir(); } FullPath df = new FullPath(_destinationRootDir); ICopier copier = new Copier(context, _logFiles); IZipper zipper = new Zipper(context); IDirectoryFilesLister directoryFilesLister = new DirectoryFilesLister(); StandardPackageDef packageDef = new StandardPackageDef(); CopyProcessor copyProcessor = new CopyProcessor(context, copier, df); List <string> sourceIds = new List <string>(); foreach (var sourceToPackage in _sourcePackagingInfos) { string sourceId; if (sourceToPackage.SourceType == SourceType.Directory) { var sourceFullPath = new FullPath(sourceToPackage.SourcePath); sourceId = sourceFullPath.GetHashCode().ToString(); DirectorySource directorySource = new DirectorySource(context, directoryFilesLister, sourceId, sourceFullPath, sourceToPackage.Recursive); directorySource.SetFilter(sourceToPackage.FileFilters); packageDef.AddFilesSource(directorySource); } else { var fileFullPath = new FileFullPath(sourceToPackage.SourcePath); sourceId = fileFullPath.GetHashCode().ToString(); SingleFileSource fileSource = new SingleFileSource(sourceId, fileFullPath); packageDef.AddFilesSource(fileSource); } copyProcessor.AddTransformation(sourceId, sourceToPackage.DestinationPath); sourceIds.Add(sourceId); } IPackageDef copiedPackageDef = copyProcessor.Process(packageDef); if (ShouldPackageBeZipped) { string zipFile = _zipFileName; if (string.IsNullOrEmpty(zipFile)) { zipFile = _zipPrefix; _addVersionAsPostFixToZipFileName = true; _versionFieldCount = 3; } if (zipFile.EndsWith(".zip", StringComparison.OrdinalIgnoreCase)) { zipFile = zipFile.Substring(0, zipFile.Length - 4); } string tmp = _addVersionAsPostFixToZipFileName ? $"{zipFile}_{context.Properties.GetBuildVersion().ToString(_versionFieldCount)}.zip" : $"{zipFile}.zip"; zipFile = Path.Combine(_destinationRootDir, tmp); DoLogInfo($"Creating zip file {zipFile}"); ZipProcessor zipProcessor = new ZipProcessor(context, zipper, new FileFullPath(zipFile), df, _optimizeZip, sourceIds, _logFiles); zipProcessor.Process(copiedPackageDef); } return(0); }