// // Generates the final report // public static bool Generate(string reportName, RevisionList.Revisions revisions, SvnLogs.Log[] revisionLogs, ReviewState.GetCommitStatsResult commitStats, ReviewState.ReviewStatistics[] reviewStats, JiraState.JiraStatistics jiraStats, Logging logger, TimeSpan reviewTime) { // Start with the clean template string outputContent = Properties.Resources.ReportTemplate; try { // Spin through and update various sections outputContent = UpdateOverview(outputContent, reportName, revisionLogs, revisions.Url, reviewTime); outputContent = UpdateCommitStatistics(outputContent, commitStats); outputContent = UpdateReviewStatistics(outputContent, reviewStats); outputContent = UpdateAverageResults(outputContent, reviewStats); outputContent = UpdateJiraStatistics(outputContent, jiraStats); outputContent = UpdateReviewLists(outputContent, reviewStats); outputContent = UpdateJiraLists(outputContent, jiraStats); outputContent = UpdateCopyrightSection(outputContent); // Display the content DisplayReport(outputContent, reportName, revisions.Url); } catch (Exception e) { logger.Log("Exception raised when generating report\n\n{0}\n", e.Message); } // Done return(true); }
// // Generates the report // private static bool CreateReviewReport(string reportName, RevisionList.Revisions revisions, SvnLogs.Log[] revisionLogs, ReviewState.GetCommitStatsResult commitStats, ReviewState.ReviewStatistics[] reviewStats, JiraState.JiraStatistics jiraStats, Stopwatch reviewTimer) { // We're now generating s_logger.Log("Starting to generate review report"); Display.Start(Display.State.CreatingResults); // Try and generate the report bool generated = Report.Generate(reportName, revisions, revisionLogs, commitStats, reviewStats, jiraStats, s_logger, reviewTimer.Elapsed); if (generated == false) { s_errorMessage = @"Unable to generate the Review Report"; } // Return our results return(generated); }
// // Pulls out the logs for given revisions // private static SvnLogs.Log[] GetLogsFromRevisions(RevisionList.Revisions revisionsToLog) { // Starting to review logs s_logger.Log(@"Getting logs for\n{0}", revisionsToLog.Revision); Display.Start(Display.State.ExtractingLogs, revisionsToLog.Revision.Length); // Get our results SvnLogs.Log[] results = SvnLogs.GetRevisionLogs(revisionsToLog.Path, revisionsToLog.Revision, s_logger, (currentCount) => { Display.Update(currentCount, revisionsToLog.Revision.Length); }); // Did we fail? if (results == null) { s_errorMessage = @"Unable to get the logs for the revisions selected in " + revisionsToLog.Path; } // Return our results s_logger.Log(@"Logs recieved"); return(results); }