private string WriteSonarLintXmlFile(string language, IEnumerable <ActiveRule> activeRules) { if (string.IsNullOrWhiteSpace(language)) { logger.LogDebug(Resources.RAP_AdditionalFileNameMustBeSpecified); return(null); } string content; if (language.Equals(CSharpLanguage)) { content = RoslynSonarLint.GenerateXml(activeRules, sqServerSettings, language, "csharpsquid"); } else { content = RoslynSonarLint.GenerateXml(activeRules, sqServerSettings, language, "vbnet"); } var langDir = Path.Combine(sqSettings.SonarConfigDirectory, language); Directory.CreateDirectory(langDir); var fullPath = Path.Combine(langDir, "SonarLint.xml"); if (File.Exists(fullPath)) { logger.LogDebug(Resources.RAP_AdditionalFileAlreadyExists, language, fullPath); return(null); } logger.LogDebug(Resources.RAP_WritingAdditionalFile, fullPath); File.WriteAllText(fullPath, content); return(fullPath); }
private bool TryWriteSonarLintXmlFile(string language, IEnumerable <SonarRule> activeRules, out string sonarLintXmlPath) { var langDir = Path.Combine(this.teamBuildSettings.SonarConfigDirectory, language); Directory.CreateDirectory(langDir); sonarLintXmlPath = Path.Combine(langDir, "SonarLint.xml"); if (File.Exists(sonarLintXmlPath)) { this.logger.LogDebug(Resources.RAP_AdditionalFileAlreadyExists, language, sonarLintXmlPath); return(false); } var content = RoslynSonarLint.GenerateXml(activeRules, this.sonarProperties, language); this.logger.LogDebug(Resources.RAP_WritingAdditionalFile, sonarLintXmlPath); File.WriteAllText(sonarLintXmlPath, content); return(true); }