Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 /// <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();
     }
 }
Ejemplo n.º 4
0
        /// <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;
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 public MockLegacyTeamBuildFactory(ILegacyBuildSummaryLogger logger,
                                   ICoverageReportProcessor processor)
 {
     this.logger    = logger;
     this.processor = processor;
 }