public static async Task<MetaMetadataRepository> ReadDirectoryRecursively(MetaMetadataRepository mainRepo, String path, SimplTypesScope mmdTScope, SimplTypesScope metadataTScope)
{
Stack<string> stack = new Stack<string>();
stack.Push(path);
while(stack.Count > 0)
{
string dir = stack.Pop();
Debug.WriteLine("Looking in : " + dir);
//String[] files = Directory.GetFiles(dir, "*.xml");
string[] files = await FundamentalPlatformSpecifics.Get().GetFilesFromDirectory(dir, ".xml");
foreach (string file in files)
{
MetaMetadataRepository thatRepo = await ReadRepository(file, mmdTScope, metadataTScope, mainRepo);
// if (thatRepo != null)
// mainRepo.IntegrateRepository(thatRepo);
//string[] directories = Directory.GetDirectories(dir);
// string[] directories = await FundamentalPlatformSpecifics.Get().GetDirectoriesFromDirectory(dir);
// foreach (
// string innerDir in directories.Where(
// innerDir =>
// !innerDir.Contains(".svn")))
// stack.Push(innerDir);
// });
}
}
return mainRepo;
}