public Stream GetStream() { Stream memoryStream = new MemoryStream(); _packageBuilder.Save(memoryStream); return(memoryStream); }
public override bool Execute() { if (string.IsNullOrWhiteSpace(SpecFile)) { Log.LogError(Resources.NuGetResources.SpecFileMustNotBeEmpty); return(false); } if (!_fileSystem.FileExists(SpecFile)) { Log.LogError(Resources.NuGetResources.SpecFileDoesNotExist); return(false); } if (!string.IsNullOrWhiteSpace(PackageDir) && !_fileSystem.DirectoryExists(PackageDir)) { Log.LogError(Resources.NuGetResources.PackageDirDoesNotExist); return(false); } string workingDir = _fileSystem.GetCurrentDirectory(); string packageDir = PackageDir; if (packageDir == null || string.IsNullOrWhiteSpace(packageDir)) { packageDir = workingDir; } string specFilePath = Path.Combine(workingDir, SpecFile); try { IPackageBuilder packageBuilder = _packageBuilderFactory.CreateFrom(specFilePath); packageBuilder.Files.RemoveAll(file => _fileExtensionsToIgnore.Contains(Path.GetExtension(file.Path))); string packageFile = String.Format( "{0}.{1}{2}", packageBuilder.Id, packageBuilder.Version, Constants.PackageExtension); string packageFilePath = Path.Combine(packageDir, packageFile); Log.LogMessage(String.Format( Resources.NuGetResources.CreatingPackage, _fileSystem.GetFullPath(specFilePath), _fileSystem.GetFullPath(packageFilePath))); using (Stream stream = _fileSystem.CreateFile(packageFilePath)) { packageBuilder.Save(stream); } OutputPackage = packageFilePath; Log.LogMessage(String.Format( Resources.NuGetResources.CreatedPackage, _fileSystem.GetFullPath(specFilePath), _fileSystem.GetFullPath(packageFilePath))); } catch (Exception ex) { Log.LogError(Resources.NuGetResources.UnexpectedError, ex.ToString()); return(false); } return(true); }