private void StopTheStopwatchAndLog( Stopwatch stopwatch, string providerName, ProviderCollectingMode providerCollectingMode) { stopwatch.Stop(); logger.LogTrace(logWithAnsiConsoleMarkup ? $" [green]{providerName}[/] collect base rules by collecting mode: [green]{providerCollectingMode}[/] - time: [green]{stopwatch.Elapsed.GetPrettyTime()}[/]" : $" {providerName} collect base rules by collecting mode: {providerCollectingMode} - time: {stopwatch.Elapsed.GetPrettyTime()}"); }
public async Task CollectBaseRules(ProviderCollectingMode providerCollectingMode) { // Arrange var provider = new MicrosoftCodeAnalysisNetAnalyzersProvider(NullLogger.Instance); // Act var actual = await provider.CollectBaseRules(providerCollectingMode); // Assert Assert.NotNull(actual); Assert.NotNull(actual.Name); Assert.Equal(MicrosoftCodeAnalysisNetAnalyzersProvider.Name, actual.Name); Assert.NotNull(actual.Rules); Assert.True(actual.Rules.Count >= 252); }
public async Task CollectBaseRules(ProviderCollectingMode providerCollectingMode) { // Arrange var provider = new MeziantouProvider(NullLogger.Instance); // Act var actual = await provider.CollectBaseRules(providerCollectingMode); // Assert Assert.NotNull(actual); Assert.NotNull(actual.Name); Assert.Equal(MeziantouProvider.Name, actual.Name); Assert.NotNull(actual.Rules); Assert.True(actual.Rules.Count >= 101); }
public async Task CollectBaseRules(ProviderCollectingMode providerCollectingMode) { // Arrange var provider = new MicrosoftCompilerErrorsProviderUndocumented(NullLogger.Instance); // Act var actual = await provider.CollectBaseRules(providerCollectingMode); // Assert Assert.NotNull(actual); Assert.NotNull(actual.Name); Assert.Equal(MicrosoftCompilerErrorsProviderUndocumented.Name, actual.Name); Assert.NotNull(actual.Rules); Assert.True(actual.Rules.Count >= 46); }
public async Task CollectBaseRules(ProviderCollectingMode providerCollectingMode) { // Arrange var provider = new SonarAnalyzerCSharpProvider(NullLogger.Instance); // Act var actual = await provider.CollectBaseRules(providerCollectingMode); // Assert Assert.NotNull(actual); Assert.NotNull(actual.Name); Assert.Equal(SonarAnalyzerCSharpProvider.Name, actual.Name); Assert.NotNull(actual.Rules); Assert.True(actual.Rules.Count >= 400); }
public async Task CollectBaseRules(ProviderCollectingMode providerCollectingMode) { // Arrange var provider = new SecurityCodeScanVs2019Provider(NullLogger.Instance); // Act var actual = await provider.CollectBaseRules(providerCollectingMode); // Assert Assert.NotNull(actual); Assert.NotNull(actual.Name); Assert.Equal(SecurityCodeScanVs2019Provider.Name, actual.Name); Assert.NotNull(actual.Rules); Assert.True(actual.Rules.Count >= 31); }
public async Task <AnalyzerProviderBaseRuleData> CollectBaseRules( ProviderCollectingMode providerCollectingMode) { var data = CreateData(); var stopwatch = Stopwatch.StartNew(); logger.LogTrace($" [green]{data.Name}[/] collect base rules"); if (providerCollectingMode == ProviderCollectingMode.LocalCache) { var dataFromTemp = await ReadFromTempFolder(data); if (dataFromTemp is not null) { StopTheStopwatchAndLog(stopwatch, data.Name, providerCollectingMode); return(dataFromTemp); } } if (providerCollectingMode != ProviderCollectingMode.ReCollect) { var dataFromGithub = await ReadFromGithub(data); if (dataFromGithub is not null) { await WriteToTempFolder(dataFromGithub); StopTheStopwatchAndLog(stopwatch, data.Name, providerCollectingMode); return(dataFromGithub); } } await ReCollect(data); await WriteToTempFolder(data); StopTheStopwatchAndLog(stopwatch, data.Name, providerCollectingMode); return(data); }
public static async Task <Collection <AnalyzerProviderBaseRuleData> > GetAnalyzerProviderBaseRules( ILogger logger, ProviderCollectingMode providerCollectingMode, bool logWithAnsiConsoleMarkup) { var stopwatch = Stopwatch.StartNew(); logger.LogTrace(" Collecting rules metadata"); var analyzerProviders = new AnalyzerProviderCollector(logger); var analyzerProviderBaseRules = await analyzerProviders.CollectAllBaseRules(providerCollectingMode, logWithAnsiConsoleMarkup); stopwatch.Stop(); logger.LogTrace($" Collecting rules metadata time: {stopwatch.Elapsed.GetPrettyTime()}"); LogAnalyzerProviderInformation(logger, analyzerProviderBaseRules); LogAnalyzerProviderErrors(logger, analyzerProviderBaseRules); return(analyzerProviderBaseRules); }
public async Task <Collection <AnalyzerProviderBaseRuleData> > CollectAllBaseRules( ProviderCollectingMode providerCollectingMode, bool logWithAnsiConsoleMarkup) { var data = new Collection <AnalyzerProviderBaseRuleData>(); var asyncFixerProvider = new AsyncFixerProvider(logger, logWithAnsiConsoleMarkup); var asyncFixerTask = asyncFixerProvider.CollectBaseRules(providerCollectingMode); var asyncifyProvider = new AsyncifyProvider(logger, logWithAnsiConsoleMarkup); var asyncifyTask = asyncifyProvider.CollectBaseRules(providerCollectingMode); var meziantouProvider = new MeziantouProvider(logger, logWithAnsiConsoleMarkup); var meziantouTask = meziantouProvider.CollectBaseRules(providerCollectingMode); var microsoftCodeAnalysisNetAnalyzersProvider = new MicrosoftCodeAnalysisNetAnalyzersProvider(logger, logWithAnsiConsoleMarkup); var microsoftCodeAnalysisNetAnalyzersTask = microsoftCodeAnalysisNetAnalyzersProvider.CollectBaseRules(providerCollectingMode); var microsoftCompilerErrorsProvider = new MicrosoftCompilerErrorsProvider(logger, logWithAnsiConsoleMarkup); var microsoftCompilerErrorsTask = microsoftCompilerErrorsProvider.CollectBaseRules(providerCollectingMode); var microsoftCodeAnalysisNetAnalyzersProviderUndocumented = new MicrosoftCompilerErrorsProviderUndocumented(logger, logWithAnsiConsoleMarkup); var microsoftCompilerErrorsUndocumentedTask = microsoftCodeAnalysisNetAnalyzersProviderUndocumented.CollectBaseRules(ProviderCollectingMode.ReCollect); var microsoftVisualStudioThreadingAnalyzersProvider = new MicrosoftVisualStudioThreadingAnalyzersProvider(logger, logWithAnsiConsoleMarkup); var microsoftVisualStudioThreadingAnalyzersProviderTask = microsoftVisualStudioThreadingAnalyzersProvider.CollectBaseRules(ProviderCollectingMode.ReCollect); var nSubstituteAnalyzersProvider = new NSubstituteAnalyzersProvider(logger, logWithAnsiConsoleMarkup); var nSubstituteAnalyzersProviderTask = nSubstituteAnalyzersProvider.CollectBaseRules(ProviderCollectingMode.ReCollect); var securityCodeScanVs2019Provider = new SecurityCodeScanVs2019Provider(logger, logWithAnsiConsoleMarkup); var securityCodeScanVs2019Task = securityCodeScanVs2019Provider.CollectBaseRules(providerCollectingMode); var styleCopAnalyzersProvider = new StyleCopAnalyzersProvider(logger, logWithAnsiConsoleMarkup); var styleCopAnalyzersTask = styleCopAnalyzersProvider.CollectBaseRules(providerCollectingMode); var sonarAnalyzerCSharpProvider = new SonarAnalyzerCSharpProvider(logger, logWithAnsiConsoleMarkup); var sonarAnalyzerCSharpTask = sonarAnalyzerCSharpProvider.CollectBaseRules(providerCollectingMode); var wpfAnalyzersProvider = new WpfAnalyzersProvider(logger, logWithAnsiConsoleMarkup); var wpfAnalyzersProviderTask = wpfAnalyzersProvider.CollectBaseRules(providerCollectingMode); var xunitProvider = new XunitProvider(logger, logWithAnsiConsoleMarkup); var xunitProviderTask = xunitProvider.CollectBaseRules(providerCollectingMode); await Task.WhenAll( asyncFixerTask, asyncifyTask, meziantouTask, microsoftCodeAnalysisNetAnalyzersTask, microsoftCompilerErrorsTask, microsoftCompilerErrorsUndocumentedTask, microsoftVisualStudioThreadingAnalyzersProviderTask, nSubstituteAnalyzersProviderTask, securityCodeScanVs2019Task, styleCopAnalyzersTask, sonarAnalyzerCSharpTask, wpfAnalyzersProviderTask, xunitProviderTask); data.Add(await asyncFixerTask); data.Add(await asyncifyTask); data.Add(await meziantouTask); data.Add(await microsoftCodeAnalysisNetAnalyzersTask); data.Add(await microsoftCompilerErrorsTask); data.Add(await microsoftCompilerErrorsUndocumentedTask); data.Add(await microsoftVisualStudioThreadingAnalyzersProviderTask); data.Add(await nSubstituteAnalyzersProviderTask); data.Add(await securityCodeScanVs2019Task); data.Add(await styleCopAnalyzersTask); data.Add(await sonarAnalyzerCSharpTask); data.Add(await wpfAnalyzersProviderTask); data.Add(await xunitProviderTask); return(data); }
private static string CreateArgumentFetchMode(ProviderCollectingMode collectingMode) => @$ "{ArgumentCommandConstants.LongFetchMode} {collectingMode}";