public void InitializedServerDiagnostics(ISonarConfiguration authentication)
{
if (!this.ExtensionDiagnostics.Any())
{
bool hasRoslynPlugin = VerifyExistenceOfRoslynPlugin();
// load defined props in server and load up
var props = this.rest.GetProperties(authentication);
if (props.ContainsKey("sonar.roslyn.diagnostic.path"))
{
var folders = props["sonar.roslyn.diagnostic.path"].Split(';');
foreach (var folder in folders)
{
if (Directory.Exists(folder) && !this.roslynExternalUserDiagPath.ToLower().Equals(folder.ToLower()))
{
this.LoadDiagnosticsFromPath(folder, hasRoslynPlugin);
}
}
}
this.LoadDiagnosticsFromPath(this.roslynExternalUserDiagPath, hasRoslynPlugin);
foreach (var item in this.embedVersionController.GetInstalledPaths())
{
try
{
this.LoadDiagnosticsFromPath(item, false);
}
catch (Exception ex)
{
this.notificationManager.WriteMessage("Failed to load diagnostics from: " + item + " : " + ex.Message);
}
}
}
this.SyncSettings();
}