/// <summary> /// Writes the summary results. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="results">The results.</param> private static void WriteSummaryResults( BuildControlParameters configuration, DailyBuildFullResults results) { // Summary results via writing execution logs to output share. GeneralFileOperations.WriteProgramStatusFile(ExecutionStatus.Idle); string[] logEntries = ProgramExecutionLog.FullLogContents(); string[] emailSummary = results.GenerateResultsSummary().ToArray <string>(); File.WriteAllLines(ExecutionLogFile, logEntries); File.WriteAllLines(EmailSummaryLogFile, emailSummary); if (!String.IsNullOrEmpty(results.PublishLogShare)) { File.WriteAllLines(Path.Combine(results.PublishLogShare, ExecutionLogFile), logEntries); File.WriteAllLines(Path.Combine(results.PublishLogShare, EmailSummaryLogFile), emailSummary); } }
/// <summary> /// Mains the specified args. /// </summary> /// <param name="args">The args.</param> static void Main(string[] args) { DailyBuildFullResults results = new DailyBuildFullResults(); BuildControlParameters configuration = null; try { if (File.Exists(MainConfigurationFile)) { Console.Write("Reading Configuration File .... "); configuration = BuildControlParameters.LoadConfiguration(MainConfigurationFile); Console.WriteLine(" Success"); } else { Console.WriteLine("Fail. No Configuration file found, creating sample starting file..."); configuration = new BuildControlParameters(); configuration.SampleInit(); BuildControlParameters.SaveConfiguration(configuration, MainConfigurationFile); Console.WriteLine("Sample file created "); } } catch (Exception e) { Console.WriteLine("Failed to read Configuration File. Program will exit. " + "See log file"); Thread.Sleep(5000); ProgramExecutionLog.AddEntry("Failed to read Configuration File. Error was " + e.Message); ProgramExecutionLog.AddEntry("Required configuration file is " + MainConfigurationFile + " and in the same directory"); string[] logEntries = ProgramExecutionLog.FullLogContents(); File.WriteAllLines(ExecutionLogFile, logEntries); Environment.Exit(1); } configuration.UpdateWpdtLkgLink(); results.Reset(configuration); results.UpdateWpdtOpsForInstalledVersion(configuration); CheckForWpdtTestCaseFiles(configuration); ExecutionStatus status = GeneralFileOperations.ReadProgramStatusFile(); ParseCommandLineArguments(args, status); WpdtOpsUninstall(configuration, results); if (configuration.SyncEnlistment) { SourceCodeOps.SyncEnlistment(configuration, results); } WpdtOpsInstall(configuration, results); UpdateYdr(configuration, results); SourceCodeOps.CreateBuildScriptAndExecute(configuration, results); WriteSummaryResults(configuration, results); GeneralFileOperations.WriteProgramStatusFile(ExecutionStatus.Idle); }