public MSBuildPostProcessor(ICoverageReportProcessor codeCoverageProcessor, ISonarScanner scanner, ISummaryReportBuilder reportBuilder, ILogger logger, ITargetsUninstaller targetUninstaller) { if (codeCoverageProcessor == null) { throw new ArgumentNullException(nameof(codeCoverageProcessor)); } if (scanner == null) { throw new ArgumentNullException(nameof(scanner)); } if (reportBuilder == null) { throw new ArgumentNullException(nameof(reportBuilder)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (targetUninstaller == null) { throw new ArgumentNullException(nameof(targetUninstaller)); } this.logger = logger; this.codeCoverageProcessor = codeCoverageProcessor; this.sonarScanner = scanner; this.reportBuilder = reportBuilder; this.targetUninstaller = targetUninstaller; }
/// <summary> /// Factory method to create a coverage report processor for the current build environment. /// </summary> private void TryCreateCoverageReportProcessor(ITeamBuildSettings settings) { if (settings.BuildEnvironment == BuildEnvironment.TeamBuild) { processor = new BuildVNextCoverageReportProcessor(); } else if (settings.BuildEnvironment == BuildEnvironment.LegacyTeamBuild && !TeamBuildSettings.SkipLegacyCodeCoverageProcessing) { processor = new TfsLegacyCoverageReportProcessor(); } }
/// <summary> /// Factory method to create a coverage report processor for the current build environment. /// </summary> private void TryCreateCoverageReportProcessor(TeamBuildSettings settings) { if (settings.BuildEnvironment == BuildEnvironment.TeamBuild) { this.processor = new BuildVNextCoverageReportProcessor(); } else if (settings.BuildEnvironment == BuildEnvironment.LegacyTeamBuild && !TeamBuildSettings.SkipLegacyCodeCoverageProcessing) { this.processor = new TfsLegacyCoverageReportProcessor(); } }
/// <summary> /// Factory method to create a coverage report processor for the current build environment. /// TODO: replace with a general purpose pre- and post- processing extension mechanism. /// </summary> private static ICoverageReportProcessor TryCreateCoverageReportProcessor(TeamBuildSettings settings) { ICoverageReportProcessor processor = null; if (settings.BuildEnvironment == BuildEnvironment.TeamBuild) { processor = new BuildVNextCoverageReportProcessor(); } else if (settings.BuildEnvironment == BuildEnvironment.LegacyTeamBuild && !TeamBuildSettings.SkipLegacyCodeCoverageProcessing) { processor = new TfsLegacyCoverageReportProcessor(); } return(processor); }
public MSBuildPostProcessor(ICoverageReportProcessor codeCoverageProcessor, ISonarScanner scanner, ISummaryReportBuilder reportBuilder) { if (codeCoverageProcessor == null) { throw new ArgumentNullException("codeCoverageProcessor"); } if (scanner == null) { throw new ArgumentNullException("param"); } if (reportBuilder == null) { throw new ArgumentNullException("reportBuilder"); } this.codeCoverageProcessor = codeCoverageProcessor; this.sonarScanner = scanner; this.reportBuilder = reportBuilder; }
public MSBuildPostProcessor(ICoverageReportProcessor codeCoverageProcessor, ISonarRunner runner, ISummaryReportBuilder reportBuilder) { if (codeCoverageProcessor == null) { throw new ArgumentNullException("codeCoverageProcessor"); } if (runner == null) { throw new ArgumentNullException("param"); } if (reportBuilder == null) { throw new ArgumentNullException("reportBuilder"); } this.codeCoverageProcessor = codeCoverageProcessor; this.sonarRunner = runner; this.reportBuilder = reportBuilder; }
static int Main() { ILogger logger = new ConsoleLogger(includeTimestamp: true); TeamBuildSettings settings = TeamBuildSettings.GetSettingsFromEnvironment(logger); Debug.Assert(settings != null, "Settings should not be null"); AnalysisConfig config = GetAnalysisConfig(settings, logger); if (config == null) { logger.LogError(Resources.ERROR_MissingSettings); return(ErrorCode); } if (!CheckEnvironmentConsistency(config, settings, logger)) { return(ErrorCode); } ICoverageReportProcessor coverageReportProcessor = TryCreateCoverageReportProcessor(settings); // Handle code coverage reports if (!coverageReportProcessor.ProcessCoverageReports(config, settings, logger)) { return(ErrorCode); } ProjectInfoAnalysisResult result = InvokeSonarRunner(config, logger); // Write summary report if (settings.BuildEnvironment == BuildEnvironment.LegacyTeamBuild && !TeamBuildSettings.SkipLegacyCodeCoverageProcessing) { UpdateTeamBuildSummary(config, result, logger); } return(result.RanToCompletion ? SuccessCode : ErrorCode); }
public MockLegacyTeamBuildFactory(ILegacyBuildSummaryLogger logger, ICoverageReportProcessor processor) { this.logger = logger; this.processor = processor; }