private static DirectoryInfo[] GetSourceDirectories(IList <string> list) { if (list.IndexOf("--scan-dir") < 0) { throw new Exception("No --source-dir provided!"); } var scanDir = list[list.IndexOf("--scan-dir") + 1]; var packagesDirs = new DirectoryInfo(scanDir); var excludeRootPackageDirectories = list.IndexOf("--ignore-root-package-directories") != -1; var scanner = new DirScanner(packagesDirs, excludeRootPackageDirectories); var scanDirTask = Task.Run(() => { scanner.Work(); return(scanner.Result); }); var sources = scanDirTask.Result.ToArray(); return(sources); }