public override bool Execute() { var validationLogic = new CheckSolutionForMissingProjectsLogic(new MSBuildLogger(this.Log)); var ret = true; foreach (var solutionPath in SolutionPaths.Select(i => i.ItemSpec)) ret = ret & validationLogic.Check(solutionPath); return ret; }
public static int Main(string []args) { Console.ForegroundColor = ConsoleColor.White; var directory = Directory.GetCurrentDirectory(); if (args.Length > 1) { Console.WriteLine("Error: This application accepts single parameter: Root path of the C# code repository"); return ErrorWrongUsage; } else if (args.Length == 1) { directory = args.First(); } Console.WriteLine("Checking for missing project references in solutions. "); var validationLogic = new CheckSolutionForMissingProjectsLogic(new ConsoleLogger()); var allSolutions = Directory.EnumerateFiles(directory, "*.sln", SearchOption.AllDirectories); var result = true; try { foreach (var file in allSolutions) result = result & validationLogic.Check(file); } catch (Exception e) { Console.WriteLine("Fatal Error: {0}\n {1}", e.Message, e.StackTrace); result = false; } return result ? NoError : ErrorFailedValidation; }