public IPackageInfo Publish(string packageFileName, Stream packageStream) { var fileWithoutExtension = packageFileName.Trim().ToLowerInvariant().EndsWith(".wrap") ? Path.GetFileNameWithoutExtension(packageFileName) : packageFileName; if (_packages.Any(x=>x.FullName == fileWithoutExtension)) throw new InvalidOperationException("Package already exists in repository."); var inMemoryFile = new InMemoryFile("c:\\" + Guid.NewGuid()); using(var stream = inMemoryFile.OpenWrite()) packageStream.CopyTo(stream); var tempFolder = new CachedZipPackage(null, inMemoryFile, null, null); var package = new InMemoryPackage { Name = PackageNameUtility.GetName(fileWithoutExtension), Version = PackageNameUtility.GetVersion(fileWithoutExtension), Source = this, Dependencies = tempFolder.Dependencies.ToList(), Anchored = tempFolder.Anchored }; _packages.Add(package); return package; }
public Stream OpenStream() { var package = new InMemoryFile(@"c:\test.wrap"); PackageBuilder.NewWithDescriptor(package, Name, Version.ToString(), Dependencies.Select(x=>"depends: " + x).ToArray()); return package.OpenRead(); }