public static VersionManifest GenerateFromDirectory(string version, string directory)
{
directory = PathUtils.AddTrailingSlash(directory);
List<VersionManifestFile> files = new List<VersionManifestFile>();
foreach (string filename in Directory.EnumerateFiles(directory, "*", SearchOption.AllDirectories))
{
using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
{
string checksum = Checksum.Calculate(fs);
VersionManifestFile file = new VersionManifestFile(filename.Remove(0, directory.Length), checksum, fs.Length);
files.Add(file);
}
}
return new VersionManifest(version, files);
}