private void FindManifests(string directory, FindManifestsCallback action) { if(!Directory.Exists(directory)) { throw new ArgumentException(string.Format("Illegal path to cartridge repository: {0}", directory)); } foreach(string path in Directory.GetDirectories(directory)) { List<string> entries = Directory.GetDirectories(path).Select(v => new DirectoryInfo(v).Name).ToList<string>(); if(entries.Count == 0) { continue; } foreach(string version in Manifest.SortVersions(entries)) { string filename = Path.Combine(path, version, "metadata", "manifest.yml"); if(File.Exists(filename)) { action(filename); } } } }
private void FindManifests(string directory, FindManifestsCallback action) { if (!Directory.Exists(directory)) { throw new ArgumentException(string.Format("Illegal path to cartridge repository: {0}", directory)); } foreach (string path in Directory.GetDirectories(directory)) { List <string> entries = Directory.GetDirectories(path).Select(v => new DirectoryInfo(v).Name).ToList <string>(); if (entries.Count == 0) { continue; } foreach (string version in Manifest.SortVersions(entries)) { string filename = Path.Combine(path, version, "metadata", "manifest.yml"); if (File.Exists(filename)) { action(filename); } } } }