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);
                    }
                }
            }


        }
示例#2
0
        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);
                    }
                }
            }
        }