internal IReadOnlyList <string> FindProjFileAtOrAbovePath(IPhysicalFileSystem fileSystem, string startPath, HashSet <string> extensionLimiters) { if (extensionLimiters.Count == 0) { return(FileFindHelpers.FindFilesAtOrAbovePath(fileSystem, startPath, "*.*proj")); } else { return(FileFindHelpers.FindFilesAtOrAbovePath(fileSystem, startPath, "*.*proj", (filename) => extensionLimiters.Contains(Path.GetExtension(filename)))); } }
private ProjectTemplate InitProjectTemplateFromJsonConfig() { var files = FileFindHelpers.FindFilesAtOrAbovePath(_fileSystem, _rootPath, _templateSearchPattern); if (files.Count > 1) { throw new ArgumentException("Multiple config files found, make sure that there is only a single *_template.config file inside your project directory"); } Console.WriteLine(_fileSystem.ReadAllText(files.First())); var template = JsonConvert.DeserializeObject <ProjectTemplate>(_fileSystem.ReadAllText(files.First())); return(template); }
internal static IReadOnlyList <string> FindSolutionFilesAtOrAbovePath(IPhysicalFileSystem fileSystem, string outputBasePath) { return(FileFindHelpers.FindFilesAtOrAbovePath(fileSystem, outputBasePath, "*.sln")); }