public void ExplodeAssembly(string applicationDirectory, Assembly assembly, IPackageFiles files) { var directory = FileSystem.Combine( applicationDirectory, "bin", FubuMvcPackages.FubuPackagesFolder, assembly.GetName().Name); var request = new ExplodeRequest{ Directory = directory, GetVersion = () => { return assembly.GetName().Version.ToString(); }, LogSameVersion = () => Console.WriteLine("Assembly {0} has already been 'exploded' onto disk".ToFormat(assembly.GetName().FullName)), ExplodeAction = () => explodeAssembly(assembly, directory, files) }; explode(request); _fileSystem.ChildDirectoriesFor(directory).Each(child => { var name = Path.GetFileName(child); files.RegisterFolder(name, child.ToFullPath()); }); }
public void ExplodeAssembly(string applicationDirectory, Assembly assembly, IPackageFiles files) { var directory = FubuMvcPackages.GetDirectoryForExplodedPackage(applicationDirectory, assembly.GetName().Name); var request = new ExplodeRequest { Directory = directory, GetVersion = () => assembly.GetName().Version.ToString(), LogSameVersion = () => Console.WriteLine( "Assembly {0} has already been 'exploded' onto disk".ToFormat(assembly.GetName().FullName)), ExplodeAction = () => explodeAssembly(assembly, directory) }; explode(request); _fileSystem.ChildDirectoriesFor(directory).Each(child => { var name = Path.GetFileName(child); files.RegisterFolder(name, child.ToFullPath()); }); }
private void explodeAssembly(Assembly assembly, string directory, IPackageFiles files) { _fileSystem.DeleteDirectory(directory); _fileSystem.CreateDirectory(directory); assembly.GetManifestResourceNames().Where(IsEmbeddedPackageZipFile).Each(name => { var folderName = EmbeddedPackageFolderName(name); var stream = assembly.GetManifestResourceStream(name); var description = "Resource {0} in Assembly {1}".ToFormat(name, assembly.GetName().FullName); var destinationFolder = FileSystem.Combine(directory, folderName); _service.ExtractTo(description, stream, destinationFolder); var version = assembly.GetName().Version.ToString(); _fileSystem.WriteStringToFile(FileSystem.Combine(directory, FubuMvcPackages.VersionFile), version); }); }
public PackageSettingsSource(IPackageFiles files) { _files = files; }
public PackageFileActivator(IPackageFiles files) { _files = files; }