private ProjectInfoAnalysisResult GenerateAndValidatePropertiesFile(AnalysisConfig config)
        {
            if (this.propertiesFileGenerator == null)
            {
                this.propertiesFileGenerator = new PropertiesFileGenerator(config, logger);
            }

            var result = this.propertiesFileGenerator.GenerateFile();

            if (this.sonarProjectPropertiesValidator.AreExistingSonarPropertiesFilesPresent(config.SonarScannerWorkingDirectory, result.Projects, out var invalidFolders))
            {
                logger.LogError(Resources.ERR_ConflictingSonarProjectProperties, string.Join(", ", invalidFolders));
                result.RanToCompletion = false;
            }
            else
            {
                ProjectInfoReportBuilder.WriteSummaryReport(config, result, logger);
                result.RanToCompletion = true;
            }

            return(result);
        }
 public void /* for testing purposes */ SetPropertiesFileGenerator(IPropertiesFileGenerator propertiesFileGenerator)
 {
     this.propertiesFileGenerator = propertiesFileGenerator;
 }