public async Task <IBindingConfigFile> GetConfigurationAsync(SonarQubeQualityProfile qualityProfile, string organizationKey, Language language, CancellationToken cancellationToken) { if (!IsLanguageSupported(language)) { throw new ArgumentOutOfRangeException(nameof(language)); } var result = await WebServiceHelper.SafeServiceCallAsync( () => sonarQubeService.GetAllRulesAsync(qualityProfile.Key, cancellationToken), logger); if (result == null) { return(null); } cancellationToken.ThrowIfCancellationRequested(); var config = CreateUserSettingsFromQPRules(result); var configFile = new CFamilyBindingConfigFile(config); return(configFile); }
public async Task <IBindingConfig> GetConfigurationAsync(SonarQubeQualityProfile qualityProfile, Language language, BindingConfiguration bindingConfiguration, CancellationToken cancellationToken) { if (!IsLanguageSupported(language)) { throw new ArgumentOutOfRangeException(nameof(language)); } var result = await WebServiceHelper.SafeServiceCallAsync( () => sonarQubeService.GetAllRulesAsync(qualityProfile.Key, cancellationToken), logger); if (result == null) { return(null); } cancellationToken.ThrowIfCancellationRequested(); var settings = CreateRulesSettingsFromQPRules(result); var settingsFilePath = bindingConfiguration.BuildPathUnderConfigDirectory(language.FileSuffixAndExtension); var configFile = new CFamilyBindingConfig(settings, settingsFilePath); return(configFile); }