public IEnumerable <string> ExplodeDirectory(ExplodeDirectory directory) { string packageFolder = directory.BottleDirectory; var fileSet = new FileSet { Include = "*.zip" }; directory.Log.Trace("Searching for zip files in package directory " + packageFolder); var packageFileNames = _fileSystem.FileNamesFor(fileSet, packageFolder); return(packageFileNames.Select(file => { var packageName = Path.GetFileNameWithoutExtension(file); var explodedDirectory = FileSystem.Combine(directory.DestinationDirectory, packageName); var request = new ExplodeRequest { Directory = explodedDirectory, ExplodeAction = () => Explode(file, explodedDirectory, ExplodeOptions.DeleteDestination), GetVersion = () => _service.GetVersion(file), LogSameVersion = () => _logger.WritePackageZipFileWasSameVersionAsExploded(file) }; explode(request); return explodedDirectory; }).ToList()); // Needs to be evaluated right now. }
public bool Equals(ExplodeDirectory other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(Equals(other.BottleDirectory, BottleDirectory) && Equals(other.DestinationDirectory, DestinationDirectory)); }
public IEnumerable<IPackageInfo> Load(IPackageLog log) { BottleExploder exploder = BottleExploder.GetPackageExploder(log); var reader = new PackageManifestReader(new FileSystem(), GetContentFolderForPackage); return _folders.SelectMany(dir => { var explodeDirectory = new ExplodeDirectory { DestinationDirectory = _explosionDirectory, BottleDirectory = dir, Log = log }; return exploder.ExplodeDirectory(explodeDirectory); }).Select(reader.LoadFromFolder); }
public IEnumerable<string> ExplodeDirectory(ExplodeDirectory directory) { string packageFolder = directory.PackageDirectory; var fileSet = new FileSet { Include = "*.zip" }; directory.Log.Trace("Searching for zip files in package directory " + packageFolder); var packageFileNames = _fileSystem.FileNamesFor(fileSet, packageFolder); return packageFileNames.Select(file => { var packageName = Path.GetFileNameWithoutExtension(file); var explodedDirectory = FileSystem.Combine(directory.DestinationDirectory, packageName); // TODO -- need more logging here. Pass in the log and have it log what happens internally var request = new ExplodeRequest{ Directory = explodedDirectory, ExplodeAction = () => Explode(file, explodedDirectory, ExplodeOptions.DeleteDestination), GetVersion = () => _service.GetVersion(file), LogSameVersion = () => _logger.WritePackageZipFileWasSameVersionAsExploded(file) }; explode(request); return explodedDirectory; }).ToList(); // Needs to be evaluated right now. }
public bool Equals(ExplodeDirectory other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return Equals(other.PackageDirectory, PackageDirectory) && Equals(other.DestinationDirectory, DestinationDirectory); }