static int Main(string[] args) { Console.WriteLine(""); if (args.Length != 2){ Console.WriteLine("Error: Number of argument is invalid !"); PrintHelper(); return (int)ExitCode.InvalidArguments; } string xmlFIlePath = args[0]; string logFIlePath = args[1]; if(!File.Exists(xmlFIlePath)){ Console.WriteLine("Error: Xml file argument doesn't exist !"); PrintHelper(); return (int)ExitCode.InvalidArguments; } if(!Directory.Exists(Path.GetDirectoryName(logFIlePath))){ Console.WriteLine("Error: The directory of the log file argument doesn't exist !"); PrintHelper(); return (int)ExitCode.InvalidArguments; } Logger logger=null; try{ try{ logger = new Logger(args[1]); }catch(Exception ex){ Console.WriteLine("Failed to create log file: " + ex.Message); return (int)ExitCode.InvalidArguments; } RunnerPlan data; try{ logger.Log("Parse xml file to get the compare plan (" + xmlFIlePath + ")"); data = RunnerPlan.ParseFromXml(xmlFIlePath); logger.Log("\tCleanRegEx : " + data.CleanRegEx); logger.Log("\tCompShape : " + data.CompShape); logger.Log("\tCompStyle : " + data.CompStyle); logger.Log("\tCompValue : " + data.CompValue); }catch(Exception ex){ logger.Log("Failed to parse Xml file: " + ex.Message); return (int)ExitCode.FailedToParsePlan; } Compare compare; try{ compare = new Compare(); compare.InfoEvent += new InfoUpdateEventHandler(logger.Log); compare.CompareFiles(data.FilesA, data.FilesB, data.CleanRegEx, data.ReportFolder, data.CompValue, data.CompStyle, data.CompStyle, true); }catch(Exception ex){ logger.Log("Failed to compare files: " + ex.Message); return (int)ExitCode.FailedToCompare; } logger.Log("End of comparison."); return (int)ExitCode.Succeed; }catch(Exception){ return (int)ExitCode.UnknownError; }finally{ logger.Close(); } }