From 3092114e56e0e93a5f1e3d4a011241131233756d Mon Sep 17 00:00:00 2001 From: James Winkler Date: Mon, 18 Jan 2021 09:53:33 -0800 Subject: [PATCH 1/4] Fix formatting --- src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs b/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs index bfd83deb9..e2a5733c6 100644 --- a/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs +++ b/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs @@ -264,7 +264,7 @@ internal AggregatingLogger InitializeLogger(AnalyzeOptionsBase analyzeOptions) _tool = Tool.CreateFromAssemblyData(); var logger = new AggregatingLogger(); - + if (!analyzeOptions.Quiet) { _consoleLogger = new ConsoleLogger(analyzeOptions.Quiet, _tool.Driver.Name, analyzeOptions.Level, analyzeOptions.Kind) { CaptureOutput = _captureConsoleOutput }; From f068b44881aa4da317237d3649fbfe1449258e82 Mon Sep 17 00:00:00 2001 From: James Winkler Date: Mon, 18 Jan 2021 09:54:40 -0800 Subject: [PATCH 2/4] Make more loggers children of BaseLogger. Cleanup some functionality with --quiet. Correct some tests --- .../Sdk/MultithreadedAnalyzeCommandBase.cs | 2 +- src/Sarif/Writers/CacheByFileHashLogger.cs | 8 ++- src/Sarif/Writers/CachingLogger.cs | 20 ++++-- src/Sarif/Writers/SarifLogger.cs | 61 +++---------------- .../Writers/CachingLoggerTests.cs | 8 ++- .../Writers/SarifLoggerTests.cs | 6 -- 6 files changed, 36 insertions(+), 69 deletions(-) diff --git a/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs b/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs index 728a85ea3..d123bafed 100644 --- a/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs +++ b/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs @@ -365,7 +365,7 @@ private async Task FindFilesAsync(TOptions options, TContext rootContext) _fileContexts.Add( CreateContext( options, - new CachingLogger(), + new CachingLogger(options.Level, options.Kind), rootContext.RuntimeErrors, rootContext.Policy, filePath: file) diff --git a/src/Sarif/Writers/CacheByFileHashLogger.cs b/src/Sarif/Writers/CacheByFileHashLogger.cs index e0b76a3e5..1b2ec556b 100644 --- a/src/Sarif/Writers/CacheByFileHashLogger.cs +++ b/src/Sarif/Writers/CacheByFileHashLogger.cs @@ -79,7 +79,7 @@ private void CacheResult(ReportingDescriptor rule, Result result) public void LogConfigurationNotification(Notification notification) { - if (!cacheLoggingData) { return; } + if (!cacheLoggingData || !ShouldLog(notification)) { return; } if (!HashToNotificationsMap.TryGetValue(currentFileHash, out List notifications)) { @@ -90,6 +90,12 @@ public void LogConfigurationNotification(Notification notification) public void LogToolNotification(Notification notification) { + // In case someone adds something here: + if (!ShouldLog(notification)) + { + return; + } + // Add actual functionality below } } } diff --git a/src/Sarif/Writers/CachingLogger.cs b/src/Sarif/Writers/CachingLogger.cs index 10e2ea01e..fcabeea75 100644 --- a/src/Sarif/Writers/CachingLogger.cs +++ b/src/Sarif/Writers/CachingLogger.cs @@ -12,8 +12,12 @@ namespace Microsoft.CodeAnalysis.Sarif.Writers /// instances. The driver framework uses this mechanism to merge results /// produced by a multi-threaded analysis into a single output file. /// - public class CachingLogger : IAnalysisLogger + public class CachingLogger : BaseLogger, IAnalysisLogger { + public CachingLogger(IEnumerable level, IEnumerable kind) : base(level, kind) + { + } + public IDictionary> Results { get; set; } public IList ConfigurationNotifications { get; set; } @@ -65,14 +69,20 @@ public void Log(ReportingDescriptor rule, Result result) public void LogConfigurationNotification(Notification notification) { - ConfigurationNotifications ??= new List(); - ConfigurationNotifications.Add(notification); + if (ShouldLog(notification)) + { + ConfigurationNotifications ??= new List(); + ConfigurationNotifications.Add(notification); + } } public void LogToolNotification(Notification notification) { - ToolNotifications ??= new List(); - ToolNotifications.Add(notification); + if (ShouldLog(notification)) + { + ToolNotifications ??= new List(); + ToolNotifications.Add(notification); + } } } } diff --git a/src/Sarif/Writers/SarifLogger.cs b/src/Sarif/Writers/SarifLogger.cs index bbb7bcf5e..d795addd9 100644 --- a/src/Sarif/Writers/SarifLogger.cs +++ b/src/Sarif/Writers/SarifLogger.cs @@ -246,8 +246,6 @@ private void EnhanceRun( public bool PrettyPrint => _loggingOptions.HasFlag(LoggingOptions.PrettyPrint); - public bool Quiet => _loggingOptions.HasFlag(LoggingOptions.Quiet); - public bool Optimize => _loggingOptions.HasFlag(LoggingOptions.Optimize); public virtual void Dispose() @@ -463,63 +461,13 @@ public void AnalyzingTarget(IAnalysisContext context) { } - public void Log(FailureLevel level, IAnalysisContext context, Region region, string ruleMessageId, params string[] arguments) - { - if (context == null) - { - throw new ArgumentNullException(nameof(context)); - } - - int ruleIndex = -1; - if (context.Rule != null) - { - ruleIndex = LogRule(context.Rule); - } - - ruleMessageId = RuleUtilities.NormalizeRuleMessageId(ruleMessageId, context.Rule.Id); - LogJsonIssue(level, context.TargetUri.LocalPath, region, context.Rule.Id, ruleIndex, ruleMessageId, arguments); - } - - private void LogJsonIssue(FailureLevel level, string targetPath, Region region, string ruleId, int ruleIndex, string ruleMessageId, params string[] arguments) + public void LogToolNotification(Notification notification) { - Result result = new Result - { - RuleId = ruleId, - RuleIndex = ruleIndex, - Message = new Message - { - Id = ruleMessageId, - Arguments = arguments - }, - Level = level - }; - - if (targetPath != null) - { - result.Locations = new List { - new Sarif.Location { - PhysicalLocation = new PhysicalLocation - { - ArtifactLocation = new ArtifactLocation - { - Uri = new Uri(targetPath) - }, - Region = region - } - } - }; - } - - if (!ShouldLog(result)) + if (!ShouldLog(notification)) { return; } - _issueLogJsonWriter.WriteResult(result); - } - - public void LogToolNotification(Notification notification) - { if (_run.Invocations.Count == 0) { _run.Invocations.Add(new Invocation()); @@ -532,6 +480,11 @@ public void LogToolNotification(Notification notification) public void LogConfigurationNotification(Notification notification) { + if (!ShouldLog(notification)) + { + return; + } + if (_run.Invocations.Count == 0) { _run.Invocations.Add(new Invocation()); diff --git a/src/Test.UnitTests.Sarif/Writers/CachingLoggerTests.cs b/src/Test.UnitTests.Sarif/Writers/CachingLoggerTests.cs index 4bc6faa27..3d1b79c79 100644 --- a/src/Test.UnitTests.Sarif/Writers/CachingLoggerTests.cs +++ b/src/Test.UnitTests.Sarif/Writers/CachingLoggerTests.cs @@ -26,7 +26,9 @@ public void CachingLogger_EmitNotificationsCorrectly() } }; - var logger = new CachingLogger(); + TestAnalyzeOptions testAnalyzeOptions = new TestAnalyzeOptions(); + + var logger = new CachingLogger(testAnalyzeOptions.Level, testAnalyzeOptions.Kind); logger.LogConfigurationNotification(notification); logger.ConfigurationNotifications.Should().HaveCount(1); @@ -40,7 +42,9 @@ public void CachingLogger_EmitResultsCorrectlyBasedOnRules() Result result01 = GenerateResult(); ReportingDescriptor rule01 = GenerateRule(); - var logger = new CachingLogger(); + TestAnalyzeOptions testAnalyzeOptions = new TestAnalyzeOptions(); + + var logger = new CachingLogger(testAnalyzeOptions.Level, testAnalyzeOptions.Kind); Assert.Throws(() => logger.Log(null, result01)); Assert.Throws(() => logger.Log(rule01, null)); diff --git a/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs b/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs index 7e5a211df..e32442818 100644 --- a/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs +++ b/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs @@ -1004,7 +1004,6 @@ private void ValidateLoggerForExclusiveOption(SarifLogger logger, LoggingOptions { logger.OverwriteExistingOutputFile.Should().BeFalse(); logger.PrettyPrint.Should().BeFalse(); - logger.Quiet.Should().BeFalse(); logger.Optimize.Should().BeFalse(); break; } @@ -1012,7 +1011,6 @@ private void ValidateLoggerForExclusiveOption(SarifLogger logger, LoggingOptions { logger.OverwriteExistingOutputFile.Should().BeTrue(); logger.PrettyPrint.Should().BeFalse(); - logger.Quiet.Should().BeFalse(); logger.Optimize.Should().BeFalse(); break; } @@ -1020,7 +1018,6 @@ private void ValidateLoggerForExclusiveOption(SarifLogger logger, LoggingOptions { logger.OverwriteExistingOutputFile.Should().BeFalse(); logger.PrettyPrint.Should().BeTrue(); - logger.Quiet.Should().BeFalse(); logger.Optimize.Should().BeFalse(); break; } @@ -1028,7 +1025,6 @@ private void ValidateLoggerForExclusiveOption(SarifLogger logger, LoggingOptions { logger.OverwriteExistingOutputFile.Should().BeFalse(); logger.PrettyPrint.Should().BeFalse(); - logger.Quiet.Should().BeTrue(); logger.Optimize.Should().BeFalse(); break; } @@ -1036,7 +1032,6 @@ private void ValidateLoggerForExclusiveOption(SarifLogger logger, LoggingOptions { logger.OverwriteExistingOutputFile.Should().BeFalse(); logger.PrettyPrint.Should().BeFalse(); - logger.Quiet.Should().BeFalse(); logger.Optimize.Should().BeTrue(); break; } @@ -1044,7 +1039,6 @@ private void ValidateLoggerForExclusiveOption(SarifLogger logger, LoggingOptions { logger.OverwriteExistingOutputFile.Should().BeTrue(); logger.PrettyPrint.Should().BeTrue(); - logger.Quiet.Should().BeTrue(); logger.Optimize.Should().BeTrue(); break; } From 130b1fa162dbc7c7ba8b28d995e7d8313fbeaee9 Mon Sep 17 00:00:00 2001 From: James Winkler Date: Mon, 18 Jan 2021 14:20:25 -0800 Subject: [PATCH 3/4] Rename some parameters, classes, and files. Remove "quiet" from LoggingOptions, and correct unit tests affected --- src/ReleaseHistory.md | 2 +- src/Sarif.Converters/ToolFormatConverter.cs | 4 +-- src/Sarif.Driver/DriverExtensionMethods.cs | 23 +++++++++---- src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs | 5 ++- .../Sdk/MultithreadedAnalyzeCommandBase.cs | 2 +- src/Sarif.Multitool.Library/ConvertCommand.cs | 6 ++-- src/Sarif/Writers/ConsoleLogger.cs | 14 ++++---- ...ptions.cs => LogFilePersistenceOptions.cs} | 8 ++--- src/Sarif/Writers/SarifLogger.cs | 16 ++++----- src/Sarif/Writers/SarifOneZeroZeroLogger.cs | 2 +- .../SarifConverterTests.cs | 2 +- .../ToolFormatConverterTests.cs | 24 +++++++------- .../DriverExtensionMethodsTests.cs | 12 +++---- .../Sdk/AnalyzeCommandBaseTests.cs | 2 -- .../Sdk/SarifLoggerTests.cs | 2 +- .../Writers/ConsoleLoggerTests.cs | 2 +- .../Writers/SarifLoggerTests.cs | 33 ++++++++----------- 17 files changed, 80 insertions(+), 79 deletions(-) rename src/Sarif/Writers/{LoggingOptions.cs => LogFilePersistenceOptions.cs} (74%) diff --git a/src/ReleaseHistory.md b/src/ReleaseHistory.md index c52d350fd..83734ad5d 100644 --- a/src/ReleaseHistory.md +++ b/src/ReleaseHistory.md @@ -1,6 +1,6 @@ # SARIF Package Release History (SDK, Driver, Converters, and Multitool) -## **v2.3.18** [Sdk](https://www.nuget.org/packages/Sarif.Sdk/2.3.18) | [Driver](https://www.nuget.org/packages/Sarif.Driver/2.3.18) | [Converters](https://www.nuget.org/packages/Sarif.Converters/2.3.18) | [Multitool](https://www.nuget.org/packages/Sarif.Multitool/2.3.18) | [Multitool Library](https://www.nuget.org/packages/Sarif.Multitool.Library/2.3.18) +## **v2.4.0** [Sdk](https://www.nuget.org/packages/Sarif.Sdk/2.4.0) | [Driver](https://www.nuget.org/packages/Sarif.Driver/2.4.0) | [Converters](https://www.nuget.org/packages/Sarif.Converters/2.4.0) | [Multitool](https://www.nuget.org/packages/Sarif.Multitool/2.4.0) | [Multitool Library](https://www.nuget.org/packages/Sarif.Multitool.Library/2.4.0) * BREAKING: Entirely remove "verbose" whose fuctionality has been replaced by --level and --kind. * FEATURE: --quiet will now suppress all console messages except for errors. diff --git a/src/Sarif.Converters/ToolFormatConverter.cs b/src/Sarif.Converters/ToolFormatConverter.cs index 370872fb2..6620783c4 100644 --- a/src/Sarif.Converters/ToolFormatConverter.cs +++ b/src/Sarif.Converters/ToolFormatConverter.cs @@ -38,7 +38,7 @@ public void ConvertToStandardFormat( string toolFormat, string inputFileName, string outputFileName, - LoggingOptions loggingOptions = LoggingOptions.None, + LogFilePersistenceOptions loggingOptions = LogFilePersistenceOptions.None, OptionallyEmittedData dataToInsert = OptionallyEmittedData.None, string pluginAssemblyPath = null) { @@ -52,7 +52,7 @@ public void ConvertToStandardFormat( using (var outputTextWriter = new StreamWriter(outputTextStream)) using (var outputJson = new JsonTextWriter(outputTextWriter)) { - if (loggingOptions.HasFlag(LoggingOptions.PrettyPrint)) + if (loggingOptions.HasFlag(LogFilePersistenceOptions.PrettyPrint)) { outputJson.Formatting = Formatting.Indented; } diff --git a/src/Sarif.Driver/DriverExtensionMethods.cs b/src/Sarif.Driver/DriverExtensionMethods.cs index 091609459..c9e874a8a 100644 --- a/src/Sarif.Driver/DriverExtensionMethods.cs +++ b/src/Sarif.Driver/DriverExtensionMethods.cs @@ -10,15 +10,14 @@ namespace Microsoft.CodeAnalysis.Sarif.Driver { public static class DriverExtensionMethods { - public static LoggingOptions ConvertToLoggingOptions(this AnalyzeOptionsBase analyzeOptions) + public static LogFilePersistenceOptions ConvertToLoggingOptions(this AnalyzeOptionsBase analyzeOptions) { - LoggingOptions loggingOptions = LoggingOptions.PrettyPrint; + LogFilePersistenceOptions loggingOptions = LogFilePersistenceOptions.PrettyPrint; - if (analyzeOptions.Force) { loggingOptions |= LoggingOptions.OverwriteExistingOutputFile; } - if (analyzeOptions.Minify) { loggingOptions ^= LoggingOptions.PrettyPrint; } - if (analyzeOptions.Quiet) { loggingOptions |= LoggingOptions.Quiet; } - if (analyzeOptions.Optimize) { loggingOptions |= LoggingOptions.Optimize; } - if (analyzeOptions.PrettyPrint) { loggingOptions |= LoggingOptions.PrettyPrint; } + if (analyzeOptions.Force) { loggingOptions |= LogFilePersistenceOptions.OverwriteExistingOutputFile; } + if (analyzeOptions.Minify) { loggingOptions ^= LogFilePersistenceOptions.PrettyPrint; } + if (analyzeOptions.Optimize) { loggingOptions |= LogFilePersistenceOptions.Optimize; } + if (analyzeOptions.PrettyPrint) { loggingOptions |= LogFilePersistenceOptions.PrettyPrint; } return loggingOptions; } @@ -139,6 +138,7 @@ public static bool ValidateOutputOptions(this MultipleFilesOptionsBase options) { bool valid = true; + // TODO: Is it correct to modify options in a "validate" method? if (options.Inline) { options.Force = true; @@ -146,5 +146,14 @@ public static bool ValidateOutputOptions(this MultipleFilesOptionsBase options) return valid; } + + public static bool ValidateOutputOptions(this AnalyzeOptionsBase options) + { + bool valid = true; + + valid &= !(options.Quiet && string.IsNullOrWhiteSpace(options.OutputFilePath)); + + return valid; + } } } diff --git a/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs b/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs index e2a5733c6..3a46e42b8 100644 --- a/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs +++ b/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs @@ -173,9 +173,12 @@ protected virtual void ValidateOptions(TContext context, TOptions analyzeOptions succeeded &= ValidateFiles(context, analyzeOptions.PluginFilePaths, shouldExist: true); succeeded &= ValidateInvocationPropertiesToLog(context, analyzeOptions.InvocationPropertiesToLog); succeeded &= ValidateOutputFileCanBeCreated(context, analyzeOptions.OutputFilePath, analyzeOptions.Force); + succeeded &= analyzeOptions.ValidateOutputOptions(); if (!succeeded) { + // TODO: This seems like uninformative error output. All these errors get squished into one generic message + // whenever something goes wrong. ThrowExitApplicationException(context, ExitReason.InvalidCommandLineOption); } } @@ -408,7 +411,7 @@ private void InitializeOutputFile(TOptions analyzeOptions, TContext context, ISe ( () => { - LoggingOptions loggingOptions = analyzeOptions.ConvertToLoggingOptions(); + LogFilePersistenceOptions loggingOptions = analyzeOptions.ConvertToLoggingOptions(); OptionallyEmittedData dataToInsert = analyzeOptions.DataToInsert.ToFlags(); OptionallyEmittedData dataToRemove = analyzeOptions.DataToRemove.ToFlags(); diff --git a/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs b/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs index d123bafed..41e0424bf 100644 --- a/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs +++ b/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs @@ -642,7 +642,7 @@ private void InitializeOutputFile(TOptions analyzeOptions, TContext context) ( () => { - LoggingOptions loggingOptions = analyzeOptions.ConvertToLoggingOptions(); + LogFilePersistenceOptions loggingOptions = analyzeOptions.ConvertToLoggingOptions(); OptionallyEmittedData dataToInsert = analyzeOptions.DataToInsert.ToFlags(); OptionallyEmittedData dataToRemove = analyzeOptions.DataToRemove.ToFlags(); diff --git a/src/Sarif.Multitool.Library/ConvertCommand.cs b/src/Sarif.Multitool.Library/ConvertCommand.cs index fe3a8acd0..5d6320677 100644 --- a/src/Sarif.Multitool.Library/ConvertCommand.cs +++ b/src/Sarif.Multitool.Library/ConvertCommand.cs @@ -40,18 +40,18 @@ public int Run(ConvertOptions convertOptions, IFileSystem fileSystem = null) if (!ValidateOptions(convertOptions, fileSystem)) { return FAILURE; } - LoggingOptions loggingOptions = LoggingOptions.None; + LogFilePersistenceOptions loggingOptions = LogFilePersistenceOptions.None; OptionallyEmittedData dataToInsert = convertOptions.DataToInsert.ToFlags(); if (convertOptions.PrettyPrint) { - loggingOptions |= LoggingOptions.PrettyPrint; + loggingOptions |= LogFilePersistenceOptions.PrettyPrint; } if (convertOptions.Force) { - loggingOptions |= LoggingOptions.OverwriteExistingOutputFile; + loggingOptions |= LogFilePersistenceOptions.OverwriteExistingOutputFile; } new ToolFormatConverter().ConvertToStandardFormat( diff --git a/src/Sarif/Writers/ConsoleLogger.cs b/src/Sarif/Writers/ConsoleLogger.cs index 5df7d7d6c..ca1384bc8 100644 --- a/src/Sarif/Writers/ConsoleLogger.cs +++ b/src/Sarif/Writers/ConsoleLogger.cs @@ -11,9 +11,9 @@ namespace Microsoft.CodeAnalysis.Sarif.Writers { public class ConsoleLogger : BaseLogger, IAnalysisLogger { - public ConsoleLogger(bool quiet, string toolName, IEnumerable level = null, IEnumerable kind = null) : base(level, kind) + public ConsoleLogger(bool quietConsole, string toolName, IEnumerable level = null, IEnumerable kind = null) : base(level, kind) { - _quiet = quiet; + _quietConsole = quietConsole; _toolName = toolName.ToUpperInvariant(); } @@ -24,11 +24,11 @@ public ConsoleLogger(bool quiet, string toolName, IEnumerable leve public string CapturedOutput => _capturedOutput?.ToString(); - private readonly bool _quiet; + private readonly bool _quietConsole; - private void WriteLineToConsole(string text = null, bool ignoreQuiet = false) + private void WriteLineToConsole(string text = null, bool forceEmitOfErrorMessages = false) { - if (!_quiet || ignoreQuiet) + if (!_quietConsole || forceEmitOfErrorMessages) { Console.WriteLine(text); @@ -97,7 +97,7 @@ public void Log(ReportingDescriptor rule, Result result) throw new ArgumentNullException(nameof(result)); } - if (!ShouldLog(result)) + if (!ShouldLog(result) || _quietConsole) { return; } @@ -202,7 +202,7 @@ private void WriteToConsole(Notification notification) WriteLineToConsole(FormatNotificationMessage(notification, _toolName)); break; case FailureLevel.Error: - WriteLineToConsole(FormatNotificationMessage(notification, _toolName), true); + WriteLineToConsole(FormatNotificationMessage(notification, _toolName), forceEmitOfErrorMessages: true); break; default: throw new InvalidOperationException(); diff --git a/src/Sarif/Writers/LoggingOptions.cs b/src/Sarif/Writers/LogFilePersistenceOptions.cs similarity index 74% rename from src/Sarif/Writers/LoggingOptions.cs rename to src/Sarif/Writers/LogFilePersistenceOptions.cs index ea99f8d61..f8ab4059e 100644 --- a/src/Sarif/Writers/LoggingOptions.cs +++ b/src/Sarif/Writers/LogFilePersistenceOptions.cs @@ -6,22 +6,20 @@ namespace Microsoft.CodeAnalysis.Sarif.Writers { [Flags] - public enum LoggingOptions + public enum LogFilePersistenceOptions + { None = 0, // Indent persisted JSON for easy file viewing. PrettyPrint = 0x1, - // Suppress all non-errors to the console and results file - Quiet = 0x2, - // Overwrite previous version of log file, if it exists. OverwriteExistingOutputFile = 0x4, // Omit redundant properties, producing a smaller but non-human-readable log. Optimize = 0x8, - All = PrettyPrint | Quiet | OverwriteExistingOutputFile | Optimize + All = PrettyPrint | OverwriteExistingOutputFile | Optimize } } diff --git a/src/Sarif/Writers/SarifLogger.cs b/src/Sarif/Writers/SarifLogger.cs index d795addd9..b891b68f6 100644 --- a/src/Sarif/Writers/SarifLogger.cs +++ b/src/Sarif/Writers/SarifLogger.cs @@ -21,18 +21,18 @@ public class SarifLogger : BaseLogger, IDisposable, IAnalysisLogger private readonly TextWriter _textWriter; private readonly bool _persistArtifacts; private readonly bool _closeWriterOnDispose; - private readonly LoggingOptions _loggingOptions; + private readonly LogFilePersistenceOptions _loggingOptions; private readonly JsonTextWriter _jsonTextWriter; private readonly OptionallyEmittedData _dataToInsert; private readonly OptionallyEmittedData _dataToRemove; private readonly ResultLogJsonWriter _issueLogJsonWriter; private readonly InsertOptionalDataVisitor _insertOptionalDataVisitor; - protected const LoggingOptions DefaultLoggingOptions = LoggingOptions.PrettyPrint; + protected const LogFilePersistenceOptions DefaultLoggingOptions = LogFilePersistenceOptions.PrettyPrint; public SarifLogger( string outputFilePath, - LoggingOptions loggingOptions = DefaultLoggingOptions, + LogFilePersistenceOptions loggingOptions = DefaultLoggingOptions, OptionallyEmittedData dataToInsert = OptionallyEmittedData.None, OptionallyEmittedData dataToRemove = OptionallyEmittedData.None, Tool tool = null, @@ -60,7 +60,7 @@ public SarifLogger( public SarifLogger( TextWriter textWriter, - LoggingOptions loggingOptions = DefaultLoggingOptions, + LogFilePersistenceOptions loggingOptions = DefaultLoggingOptions, OptionallyEmittedData dataToInsert = OptionallyEmittedData.None, OptionallyEmittedData dataToRemove = OptionallyEmittedData.None, Tool tool = null, @@ -118,7 +118,7 @@ public SarifLogger( private SarifLogger( TextWriter textWriter, - LoggingOptions loggingOptions, + LogFilePersistenceOptions loggingOptions, bool closeWriterOnDipose, IEnumerable level, IEnumerable kind) : base(failureLevels: level, resultKinds: kind) @@ -242,11 +242,11 @@ private void EnhanceRun( public bool PersistEnvironment => _dataToInsert.HasFlag(OptionallyEmittedData.EnvironmentVariables); - public bool OverwriteExistingOutputFile => _loggingOptions.HasFlag(LoggingOptions.OverwriteExistingOutputFile); + public bool OverwriteExistingOutputFile => _loggingOptions.HasFlag(LogFilePersistenceOptions.OverwriteExistingOutputFile); - public bool PrettyPrint => _loggingOptions.HasFlag(LoggingOptions.PrettyPrint); + public bool PrettyPrint => _loggingOptions.HasFlag(LogFilePersistenceOptions.PrettyPrint); - public bool Optimize => _loggingOptions.HasFlag(LoggingOptions.Optimize); + public bool Optimize => _loggingOptions.HasFlag(LogFilePersistenceOptions.Optimize); public virtual void Dispose() { diff --git a/src/Sarif/Writers/SarifOneZeroZeroLogger.cs b/src/Sarif/Writers/SarifOneZeroZeroLogger.cs index 6f78da5dd..25983fa4d 100644 --- a/src/Sarif/Writers/SarifOneZeroZeroLogger.cs +++ b/src/Sarif/Writers/SarifOneZeroZeroLogger.cs @@ -22,7 +22,7 @@ public class SarifOneZeroZeroLogger : SarifLogger public SarifOneZeroZeroLogger( string outputFilePath, - LoggingOptions loggingOptions = SarifLogger.DefaultLoggingOptions, + LogFilePersistenceOptions loggingOptions = SarifLogger.DefaultLoggingOptions, OptionallyEmittedData dataToInsert = OptionallyEmittedData.None, OptionallyEmittedData dataToRemove = OptionallyEmittedData.None, Tool tool = null, diff --git a/src/Test.FunctionalTests.Sarif/SarifConverterTests.cs b/src/Test.FunctionalTests.Sarif/SarifConverterTests.cs index 0b5380568..e53f70e5d 100644 --- a/src/Test.FunctionalTests.Sarif/SarifConverterTests.cs +++ b/src/Test.FunctionalTests.Sarif/SarifConverterTests.cs @@ -154,7 +154,7 @@ private string RunConverter(StringBuilder sb, string toolFormat, string inputFil try { - this.converter.ConvertToStandardFormat(toolFormat, inputFileName, generatedFileName, LoggingOptions.OverwriteExistingOutputFile | LoggingOptions.PrettyPrint); + this.converter.ConvertToStandardFormat(toolFormat, inputFileName, generatedFileName, LogFilePersistenceOptions.OverwriteExistingOutputFile | LogFilePersistenceOptions.PrettyPrint); } catch (Exception ex) { diff --git a/src/Test.UnitTests.Sarif.Converters/ToolFormatConverterTests.cs b/src/Test.UnitTests.Sarif.Converters/ToolFormatConverterTests.cs index f246a75b1..069cf64fa 100644 --- a/src/Test.UnitTests.Sarif.Converters/ToolFormatConverterTests.cs +++ b/src/Test.UnitTests.Sarif.Converters/ToolFormatConverterTests.cs @@ -76,7 +76,7 @@ public void ToolFormatConverter_ConvertToStandardFormat_InputDoesNotExist() { string file = this.GetType().Assembly.Location; string doesNotExist = Guid.NewGuid().ToString(); - Action action = () => _converter.ConvertToStandardFormat(ToolFormat.AndroidStudio, doesNotExist, file, LoggingOptions.OverwriteExistingOutputFile); + Action action = () => _converter.ConvertToStandardFormat(ToolFormat.AndroidStudio, doesNotExist, file, LogFilePersistenceOptions.OverwriteExistingOutputFile); action.Should().Throw(); } @@ -99,7 +99,7 @@ public void ToolFormatConverter_TruncatesOutputFileInOverwriteMode() string expectedOutput = File.ReadAllText(expectedOutputFileName, Encoding.UTF8); string actualOutputFileName = tempDir.Write("output_actual.xml", new string('a', expectedOutput.Length + 4096)); - _converter.ConvertToStandardFormat(ToolFormat.CppCheck, inputFileName, actualOutputFileName, LoggingOptions.OverwriteExistingOutputFile); + _converter.ConvertToStandardFormat(ToolFormat.CppCheck, inputFileName, actualOutputFileName, LogFilePersistenceOptions.OverwriteExistingOutputFile); string actualOutput = File.ReadAllText(actualOutputFileName, Encoding.UTF8); actualOutput.Should().Be(expectedOutput); @@ -121,7 +121,7 @@ public void ToolFormatConverter_FailsIfPluginAssemblyDoesNotExist() ToolName, inputFilePath, outputFilePath, - LoggingOptions.None, + LogFilePersistenceOptions.None, OptionallyEmittedData.None, PluginAssemblyPath); @@ -153,7 +153,7 @@ public void ToolFormatConverter_FailsIfPluginAssemblyCannotBeLoaded() ToolName, inputFilePath, outputFilePath, - LoggingOptions.None, + LogFilePersistenceOptions.None, OptionallyEmittedData.None, PluginAssemblyPath); @@ -177,7 +177,7 @@ public void ToolFormatConverter_FailsIfConverterTypeIsNotPresentInPluginAssembly ToolName, inputFilePath, outputFilePath, - LoggingOptions.None, + LogFilePersistenceOptions.None, OptionallyEmittedData.None, pluginAssemblyPath); @@ -201,7 +201,7 @@ public void ToolFormatConverter_FailsIfConverterTypeIsAmbiguousInPluginAssembly( ToolName, inputFilePath, outputFilePath, - LoggingOptions.None, + LogFilePersistenceOptions.None, OptionallyEmittedData.None, pluginAssemblyPath); @@ -227,7 +227,7 @@ public void ToolFormatConverter_FailsIfConverterTypeIsNonPublic() ToolName, inputFilePath, outputFilePath, - LoggingOptions.None, + LogFilePersistenceOptions.None, OptionallyEmittedData.None, pluginAssemblyPath); @@ -251,7 +251,7 @@ public void ToolFormatConverter_FailsIfConverterTypeIsAbstract() ToolName, inputFilePath, outputFilePath, - LoggingOptions.None, + LogFilePersistenceOptions.None, OptionallyEmittedData.None, pluginAssemblyPath); @@ -275,7 +275,7 @@ public void ToolFormatConverter_FailsIfConverterTypeDoesNotHaveCorrectBaseClass( ToolName, inputFilePath, outputFilePath, - LoggingOptions.None, + LogFilePersistenceOptions.None, OptionallyEmittedData.None, pluginAssemblyPath); @@ -299,7 +299,7 @@ public void ToolFormatConverter_FailsIfConverterTypeDoesNotHaveDefaultConstructo ToolName, inputFilePath, outputFilePath, - LoggingOptions.None, + LogFilePersistenceOptions.None, OptionallyEmittedData.None, pluginAssemblyPath); @@ -323,7 +323,7 @@ public void ToolFormatConverter_FindsConverterInPluginAssembly() ToolName, inputFilePath, outputFilePath, - LoggingOptions.None, + LogFilePersistenceOptions.None, OptionallyEmittedData.None, pluginAssemblyPath); @@ -349,7 +349,7 @@ public void ToolFormatConverter_FindsBuiltInConverterEvenIfPluginIsSpecified() ToolFormat.AndroidStudio, inputFilePath, outputFilePath, - LoggingOptions.None, + LogFilePersistenceOptions.None, OptionallyEmittedData.None, pluginAssemblyPath); diff --git a/src/Test.UnitTests.Sarif.Driver/DriverExtensionMethodsTests.cs b/src/Test.UnitTests.Sarif.Driver/DriverExtensionMethodsTests.cs index 57b9ada17..07683020c 100644 --- a/src/Test.UnitTests.Sarif.Driver/DriverExtensionMethodsTests.cs +++ b/src/Test.UnitTests.Sarif.Driver/DriverExtensionMethodsTests.cs @@ -17,7 +17,7 @@ public class DriverExtensionMethodsTests [Fact] public void ConvertingAnalyzeOptionsToLoggingOptions_ProducesExpectedLoggingOptions() { - LoggingOptions loggingOptions; + LogFilePersistenceOptions loggingOptions; TestAnalyzeOptions analyzeOptions = new TestAnalyzeOptions() { @@ -25,7 +25,7 @@ public void ConvertingAnalyzeOptionsToLoggingOptions_ProducesExpectedLoggingOpti }; loggingOptions = analyzeOptions.ConvertToLoggingOptions(); - loggingOptions.Should().Be(LoggingOptions.Quiet | LoggingOptions.PrettyPrint); + loggingOptions.Should().Be(LogFilePersistenceOptions.PrettyPrint); analyzeOptions = new TestAnalyzeOptions() { @@ -33,7 +33,7 @@ public void ConvertingAnalyzeOptionsToLoggingOptions_ProducesExpectedLoggingOpti }; loggingOptions = analyzeOptions.ConvertToLoggingOptions(); - loggingOptions.Should().Be(LoggingOptions.None); + loggingOptions.Should().Be(LogFilePersistenceOptions.None); analyzeOptions = new TestAnalyzeOptions() { @@ -42,7 +42,7 @@ public void ConvertingAnalyzeOptionsToLoggingOptions_ProducesExpectedLoggingOpti }; loggingOptions = analyzeOptions.ConvertToLoggingOptions(); - loggingOptions.Should().Be(LoggingOptions.PrettyPrint); + loggingOptions.Should().Be(LogFilePersistenceOptions.PrettyPrint); analyzeOptions = new TestAnalyzeOptions() { @@ -51,8 +51,8 @@ public void ConvertingAnalyzeOptionsToLoggingOptions_ProducesExpectedLoggingOpti loggingOptions = analyzeOptions.ConvertToLoggingOptions(); loggingOptions.Should().Be( - LoggingOptions.OverwriteExistingOutputFile | - LoggingOptions.PrettyPrint); + LogFilePersistenceOptions.OverwriteExistingOutputFile | + LogFilePersistenceOptions.PrettyPrint); } private class ValidateSingleFileOutputOptionsTestCase diff --git a/src/Test.UnitTests.Sarif.Driver/Sdk/AnalyzeCommandBaseTests.cs b/src/Test.UnitTests.Sarif.Driver/Sdk/AnalyzeCommandBaseTests.cs index 5a15af4cf..3a3686f9d 100644 --- a/src/Test.UnitTests.Sarif.Driver/Sdk/AnalyzeCommandBaseTests.cs +++ b/src/Test.UnitTests.Sarif.Driver/Sdk/AnalyzeCommandBaseTests.cs @@ -64,8 +64,6 @@ private void ExceptionTestHelperImplementation( TargetFileSpecifiers = new string[0] }; - analyzeOptions.Quiet = true; - Assembly[] plugInAssemblies = null; if (analyzeOptions.DefaultPlugInFilePaths != null) diff --git a/src/Test.UnitTests.Sarif.Driver/Sdk/SarifLoggerTests.cs b/src/Test.UnitTests.Sarif.Driver/Sdk/SarifLoggerTests.cs index f6796dcd1..a37acc2cc 100644 --- a/src/Test.UnitTests.Sarif.Driver/Sdk/SarifLoggerTests.cs +++ b/src/Test.UnitTests.Sarif.Driver/Sdk/SarifLoggerTests.cs @@ -22,7 +22,7 @@ public void CanWriteToStream() var logger = new SarifLogger( textWriter, analysisTargets: Enumerable.Empty(), - loggingOptions: LoggingOptions.None, + loggingOptions: LogFilePersistenceOptions.None, invocationTokensToRedact: null, invocationPropertiesToLog: null); diff --git a/src/Test.UnitTests.Sarif/Writers/ConsoleLoggerTests.cs b/src/Test.UnitTests.Sarif/Writers/ConsoleLoggerTests.cs index c075465bf..f7215d5a4 100644 --- a/src/Test.UnitTests.Sarif/Writers/ConsoleLoggerTests.cs +++ b/src/Test.UnitTests.Sarif/Writers/ConsoleLoggerTests.cs @@ -44,7 +44,7 @@ public void ConsoleLogger_EmitsMessageWithCharOffsetRegion() } }; - var logger = new ConsoleLogger(quiet: false, toolName: tool) + var logger = new ConsoleLogger(quietConsole: false, toolName: tool) { CaptureOutput = true }; diff --git a/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs b/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs index e32442818..4beb5ef0c 100644 --- a/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs +++ b/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs @@ -56,7 +56,7 @@ private static void StreamOwnershipHelper(bool closeWriterOnDispose) using (var logger = new SarifLogger( streamWriter, - loggingOptions: LoggingOptions.PrettyPrint, + loggingOptions: LogFilePersistenceOptions.PrettyPrint, dataToRemove: OptionallyEmittedData.NondeterministicProperties, closeWriterOnDispose: closeWriterOnDispose)) { @@ -172,7 +172,7 @@ public void SarifLogger_RedactedCommandLine() using (var sarifLogger = new SarifLogger( textWriter, analysisTargets: null, - loggingOptions: LoggingOptions.None, + loggingOptions: LogFilePersistenceOptions.None, invocationTokensToRedact: tokensToRedact, invocationPropertiesToLog: new List { "CommandLine" })) { } @@ -226,7 +226,7 @@ public void SarifLogger_WritesSarifLoggerVersion() using (var sarifLogger = new SarifLogger( textWriter, analysisTargets: new string[] { @"example.cpp" }, - loggingOptions: LoggingOptions.None, + loggingOptions: LogFilePersistenceOptions.None, invocationTokensToRedact: null, invocationPropertiesToLog: null)) { @@ -937,7 +937,7 @@ public void SarifLogger_ResultAndRuleIdMismatch() var sb = new StringBuilder(); using (var writer = new StringWriter(sb)) - using (var sarifLogger = new SarifLogger(writer, LoggingOptions.Quiet)) + using (var sarifLogger = new SarifLogger(writer)) { var rule = new ReportingDescriptor { @@ -957,16 +957,16 @@ public void SarifLogger_ResultAndRuleIdMismatch() [Fact] public void SarifLogger_LoggingOptions() { - foreach (object loggingOptionsObject in Enum.GetValues(typeof(LoggingOptions))) + foreach (object loggingOptionsObject in Enum.GetValues(typeof(LogFilePersistenceOptions))) { - TestForLoggingOption((LoggingOptions)loggingOptionsObject); + TestForLoggingOption((LogFilePersistenceOptions)loggingOptionsObject); } } // This helper is intended to validate a single enum member only // and not arbitrary combinations of bits. One defined member, // All, contains all bits. - private void TestForLoggingOption(LoggingOptions loggingOption) + private void TestForLoggingOption(LogFilePersistenceOptions loggingOption) { string fileName = Path.GetTempFileName(); @@ -996,46 +996,39 @@ private void TestForLoggingOption(LoggingOptions loggingOption) } } - private void ValidateLoggerForExclusiveOption(SarifLogger logger, LoggingOptions loggingOptions) + private void ValidateLoggerForExclusiveOption(SarifLogger logger, LogFilePersistenceOptions loggingOptions) { switch (loggingOptions) { - case LoggingOptions.None: + case LogFilePersistenceOptions.None: { logger.OverwriteExistingOutputFile.Should().BeFalse(); logger.PrettyPrint.Should().BeFalse(); logger.Optimize.Should().BeFalse(); break; } - case LoggingOptions.OverwriteExistingOutputFile: + case LogFilePersistenceOptions.OverwriteExistingOutputFile: { logger.OverwriteExistingOutputFile.Should().BeTrue(); logger.PrettyPrint.Should().BeFalse(); logger.Optimize.Should().BeFalse(); break; } - case LoggingOptions.PrettyPrint: + case LogFilePersistenceOptions.PrettyPrint: { logger.OverwriteExistingOutputFile.Should().BeFalse(); logger.PrettyPrint.Should().BeTrue(); logger.Optimize.Should().BeFalse(); break; } - case LoggingOptions.Quiet: - { - logger.OverwriteExistingOutputFile.Should().BeFalse(); - logger.PrettyPrint.Should().BeFalse(); - logger.Optimize.Should().BeFalse(); - break; - } - case LoggingOptions.Optimize: + case LogFilePersistenceOptions.Optimize: { logger.OverwriteExistingOutputFile.Should().BeFalse(); logger.PrettyPrint.Should().BeFalse(); logger.Optimize.Should().BeTrue(); break; } - case LoggingOptions.All: + case LogFilePersistenceOptions.All: { logger.OverwriteExistingOutputFile.Should().BeTrue(); logger.PrettyPrint.Should().BeTrue(); From 508ae6b879757b1edbc839b3cc8049bc57e87504 Mon Sep 17 00:00:00 2001 From: James Winkler Date: Mon, 18 Jan 2021 15:05:12 -0800 Subject: [PATCH 4/4] More complete renaming --- src/ReleaseHistory.md | 3 ++- src/Sarif.Converters/GlobalSuppressions.cs | 10 ++------- src/Sarif.Converters/ToolFormatConverter.cs | 4 ++-- src/Sarif.Driver/DriverExtensionMethods.cs | 14 ++++++------ src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs | 6 ++--- .../Sdk/MultithreadedAnalyzeCommandBase.cs | 6 ++--- src/Sarif.Multitool.Library/ConvertCommand.cs | 8 +++---- src/Sarif/Writers/ConsoleLogger.cs | 6 ++--- src/Sarif/Writers/SarifLogger.cs | 22 +++++++++---------- src/Sarif/Writers/SarifOneZeroZeroLogger.cs | 4 ++-- .../DriverExtensionMethodsTests.cs | 8 +++---- .../Sdk/SarifLoggerTests.cs | 2 +- .../Writers/SarifLoggerTests.cs | 6 ++--- 13 files changed, 47 insertions(+), 52 deletions(-) diff --git a/src/ReleaseHistory.md b/src/ReleaseHistory.md index 83734ad5d..8da4fb462 100644 --- a/src/ReleaseHistory.md +++ b/src/ReleaseHistory.md @@ -1,7 +1,8 @@ # SARIF Package Release History (SDK, Driver, Converters, and Multitool) ## **v2.4.0** [Sdk](https://www.nuget.org/packages/Sarif.Sdk/2.4.0) | [Driver](https://www.nuget.org/packages/Sarif.Driver/2.4.0) | [Converters](https://www.nuget.org/packages/Sarif.Converters/2.4.0) | [Multitool](https://www.nuget.org/packages/Sarif.Multitool/2.4.0) | [Multitool Library](https://www.nuget.org/packages/Sarif.Multitool.Library/2.4.0) -* BREAKING: Entirely remove "verbose" whose fuctionality has been replaced by --level and --kind. +* BREAKING: Entirely remove "verbose" whose fuctionality has been replaced by --level and --kind. +* BREAKING: Rename "LoggingOptions" to "LogFilePersistenceOptions" * FEATURE: --quiet will now suppress all console messages except for errors. ## **v2.3.17** [Sdk](https://www.nuget.org/packages/Sarif.Sdk/2.3.17) | [Driver](https://www.nuget.org/packages/Sarif.Driver/2.3.17) | [Converters](https://www.nuget.org/packages/Sarif.Converters/2.3.17) | [Multitool](https://www.nuget.org/packages/Sarif.Multitool/2.3.17) | [Multitool Library](https://www.nuget.org/packages/Sarif.Multitool.Library/2.3.17) diff --git a/src/Sarif.Converters/GlobalSuppressions.cs b/src/Sarif.Converters/GlobalSuppressions.cs index 0143fc3de..b2905c3f5 100644 --- a/src/Sarif.Converters/GlobalSuppressions.cs +++ b/src/Sarif.Converters/GlobalSuppressions.cs @@ -3,11 +3,5 @@ using System.Diagnostics.CodeAnalysis; -[module: SuppressMessage("Microsoft.Security.Xml", "CA3053:UseXmlSecureResolver", Scope = "member", Target = "Microsoft.CodeAnalysis.Sarif.Converters.AndroidStudioConverter.#Convert(System.IO.Stream,Microsoft.CodeAnalysis.Sarif.IResultLogWriter,Microsoft.CodeAnalysis.Sarif.Writers.LoggingOptions)")] -[module: SuppressMessage("Microsoft.Security.Xml", "CA3053:UseXmlSecureResolver", Scope = "member", Target = "Microsoft.CodeAnalysis.Sarif.Converters.ClangAnalyzerConverter.#Convert(System.IO.Stream,Microsoft.CodeAnalysis.Sarif.IResultLogWriter,Microsoft.CodeAnalysis.Sarif.Writers.LoggingOptions)")] -[module: SuppressMessage("Microsoft.Security.Xml", "CA3053:UseXmlSecureResolver", Scope = "member", Target = "Microsoft.CodeAnalysis.Sarif.Converters.CppCheckConverter.#Convert(System.IO.Stream,Microsoft.CodeAnalysis.Sarif.IResultLogWriter,Microsoft.CodeAnalysis.Sarif.Writers.LoggingOptions)")] -[module: SuppressMessage("Microsoft.Security.Xml", "CA3053:UseXmlSecureResolver", Scope = "member", Target = "Microsoft.CodeAnalysis.Sarif.Converters.FortifyConverter.#Convert(System.IO.Stream,Microsoft.CodeAnalysis.Sarif.IResultLogWriter,Microsoft.CodeAnalysis.Sarif.Writers.LoggingOptions)")] -[module: SuppressMessage("Microsoft.Security.Xml", "CA3053:UseXmlSecureResolver", Scope = "member", Target = "Microsoft.CodeAnalysis.Sarif.Converters.FortifyFprConverter.#ParseAuditStream(System.IO.Stream)")] -[module: SuppressMessage("Microsoft.Security.Xml", "CA3053:UseXmlSecureResolver", Scope = "member", Target = "Microsoft.CodeAnalysis.Sarif.Converters.FxCopLogReader.#Read(Microsoft.CodeAnalysis.Sarif.Converters.FxCopLogReader+Context,System.IO.Stream)")] -[module: SuppressMessage("Microsoft.Security.Xml", "CA3053:UseXmlSecureResolver", Scope = "member", Target = "Microsoft.CodeAnalysis.Sarif.Converters.PREfastConverter.#Convert(System.IO.Stream,Microsoft.CodeAnalysis.Sarif.IResultLogWriter,Microsoft.CodeAnalysis.Sarif.Writers.LoggingOptions)")] -[module: SuppressMessage("Microsoft.Security.Xml", "CA3053:UseXmlSecureResolver", Scope = "member", Target = "Microsoft.CodeAnalysis.Sarif.Converters.SparseReader.#CreateFromStream(Microsoft.CodeAnalysis.Sarif.Converters.SparseReaderDispatchTable,System.IO.Stream,System.Xml.Schema.XmlSchemaSet)")] +[module: SuppressMessage("Microsoft.Security.Xml", "CA3053:UseXmlSecureResolver", Scope = "member", Target = "~M:Microsoft.CodeAnalysis.Sarif.Converters.FxCopLogReader.Read(Microsoft.CodeAnalysis.Sarif.Converters.FxCopLogReader.Context,System.IO.Stream)")] +[module: SuppressMessage("Microsoft.Security.Xml", "CA3053:UseXmlSecureResolver", Scope = "member", Target = "~M:Microsoft.CodeAnalysis.Sarif.Converters.SparseReader.CreateFromStream(Microsoft.CodeAnalysis.Sarif.Converters.SparseReaderDispatchTable,System.IO.Stream,System.Xml.Schema.XmlSchemaSet)~Microsoft.CodeAnalysis.Sarif.Converters.SparseReader")] diff --git a/src/Sarif.Converters/ToolFormatConverter.cs b/src/Sarif.Converters/ToolFormatConverter.cs index 6620783c4..8570da16a 100644 --- a/src/Sarif.Converters/ToolFormatConverter.cs +++ b/src/Sarif.Converters/ToolFormatConverter.cs @@ -38,7 +38,7 @@ public void ConvertToStandardFormat( string toolFormat, string inputFileName, string outputFileName, - LogFilePersistenceOptions loggingOptions = LogFilePersistenceOptions.None, + LogFilePersistenceOptions logFilePersistenceOptions = LogFilePersistenceOptions.None, OptionallyEmittedData dataToInsert = OptionallyEmittedData.None, string pluginAssemblyPath = null) { @@ -52,7 +52,7 @@ public void ConvertToStandardFormat( using (var outputTextWriter = new StreamWriter(outputTextStream)) using (var outputJson = new JsonTextWriter(outputTextWriter)) { - if (loggingOptions.HasFlag(LogFilePersistenceOptions.PrettyPrint)) + if (logFilePersistenceOptions.HasFlag(LogFilePersistenceOptions.PrettyPrint)) { outputJson.Formatting = Formatting.Indented; } diff --git a/src/Sarif.Driver/DriverExtensionMethods.cs b/src/Sarif.Driver/DriverExtensionMethods.cs index c9e874a8a..81093c152 100644 --- a/src/Sarif.Driver/DriverExtensionMethods.cs +++ b/src/Sarif.Driver/DriverExtensionMethods.cs @@ -10,16 +10,16 @@ namespace Microsoft.CodeAnalysis.Sarif.Driver { public static class DriverExtensionMethods { - public static LogFilePersistenceOptions ConvertToLoggingOptions(this AnalyzeOptionsBase analyzeOptions) + public static LogFilePersistenceOptions ConvertToLogFilePersistenceOptions(this AnalyzeOptionsBase analyzeOptions) { - LogFilePersistenceOptions loggingOptions = LogFilePersistenceOptions.PrettyPrint; + LogFilePersistenceOptions logFilePersistenceOptions = LogFilePersistenceOptions.PrettyPrint; - if (analyzeOptions.Force) { loggingOptions |= LogFilePersistenceOptions.OverwriteExistingOutputFile; } - if (analyzeOptions.Minify) { loggingOptions ^= LogFilePersistenceOptions.PrettyPrint; } - if (analyzeOptions.Optimize) { loggingOptions |= LogFilePersistenceOptions.Optimize; } - if (analyzeOptions.PrettyPrint) { loggingOptions |= LogFilePersistenceOptions.PrettyPrint; } + if (analyzeOptions.Force) { logFilePersistenceOptions |= LogFilePersistenceOptions.OverwriteExistingOutputFile; } + if (analyzeOptions.Minify) { logFilePersistenceOptions ^= LogFilePersistenceOptions.PrettyPrint; } + if (analyzeOptions.Optimize) { logFilePersistenceOptions |= LogFilePersistenceOptions.Optimize; } + if (analyzeOptions.PrettyPrint) { logFilePersistenceOptions |= LogFilePersistenceOptions.PrettyPrint; } - return loggingOptions; + return logFilePersistenceOptions; } /// diff --git a/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs b/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs index 3a46e42b8..c642021ee 100644 --- a/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs +++ b/src/Sarif.Driver/Sdk/AnalyzeCommandBase.cs @@ -411,7 +411,7 @@ private void InitializeOutputFile(TOptions analyzeOptions, TContext context, ISe ( () => { - LogFilePersistenceOptions loggingOptions = analyzeOptions.ConvertToLoggingOptions(); + LogFilePersistenceOptions logFilePersistenceOptions = analyzeOptions.ConvertToLogFilePersistenceOptions(); OptionallyEmittedData dataToInsert = analyzeOptions.DataToInsert.ToFlags(); OptionallyEmittedData dataToRemove = analyzeOptions.DataToRemove.ToFlags(); @@ -422,7 +422,7 @@ private void InitializeOutputFile(TOptions analyzeOptions, TContext context, ISe { sarifLogger = new SarifLogger( analyzeOptions.OutputFilePath, - loggingOptions, + logFilePersistenceOptions, dataToInsert, dataToRemove, tool: _tool, @@ -437,7 +437,7 @@ private void InitializeOutputFile(TOptions analyzeOptions, TContext context, ISe { sarifLogger = new SarifOneZeroZeroLogger( analyzeOptions.OutputFilePath, - loggingOptions, + logFilePersistenceOptions, dataToInsert, dataToRemove, tool: _tool, diff --git a/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs b/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs index 41e0424bf..902a40caa 100644 --- a/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs +++ b/src/Sarif.Driver/Sdk/MultithreadedAnalyzeCommandBase.cs @@ -642,7 +642,7 @@ private void InitializeOutputFile(TOptions analyzeOptions, TContext context) ( () => { - LogFilePersistenceOptions loggingOptions = analyzeOptions.ConvertToLoggingOptions(); + LogFilePersistenceOptions logFilePersistenceOptions = analyzeOptions.ConvertToLogFilePersistenceOptions(); OptionallyEmittedData dataToInsert = analyzeOptions.DataToInsert.ToFlags(); OptionallyEmittedData dataToRemove = analyzeOptions.DataToRemove.ToFlags(); @@ -655,7 +655,7 @@ private void InitializeOutputFile(TOptions analyzeOptions, TContext context) { sarifLogger = new SarifLogger( analyzeOptions.OutputFilePath, - loggingOptions, + logFilePersistenceOptions, dataToInsert, dataToRemove, tool: _tool, @@ -668,7 +668,7 @@ private void InitializeOutputFile(TOptions analyzeOptions, TContext context) { sarifLogger = new SarifOneZeroZeroLogger( analyzeOptions.OutputFilePath, - loggingOptions, + logFilePersistenceOptions, dataToInsert, dataToRemove, tool: _tool, diff --git a/src/Sarif.Multitool.Library/ConvertCommand.cs b/src/Sarif.Multitool.Library/ConvertCommand.cs index 5d6320677..34683ebc4 100644 --- a/src/Sarif.Multitool.Library/ConvertCommand.cs +++ b/src/Sarif.Multitool.Library/ConvertCommand.cs @@ -40,25 +40,25 @@ public int Run(ConvertOptions convertOptions, IFileSystem fileSystem = null) if (!ValidateOptions(convertOptions, fileSystem)) { return FAILURE; } - LogFilePersistenceOptions loggingOptions = LogFilePersistenceOptions.None; + LogFilePersistenceOptions logFilePersistenceOptions = LogFilePersistenceOptions.None; OptionallyEmittedData dataToInsert = convertOptions.DataToInsert.ToFlags(); if (convertOptions.PrettyPrint) { - loggingOptions |= LogFilePersistenceOptions.PrettyPrint; + logFilePersistenceOptions |= LogFilePersistenceOptions.PrettyPrint; } if (convertOptions.Force) { - loggingOptions |= LogFilePersistenceOptions.OverwriteExistingOutputFile; + logFilePersistenceOptions |= LogFilePersistenceOptions.OverwriteExistingOutputFile; } new ToolFormatConverter().ConvertToStandardFormat( convertOptions.ToolFormat, convertOptions.InputFilePath, convertOptions.OutputFilePath, - loggingOptions, + logFilePersistenceOptions, dataToInsert, convertOptions.PluginAssemblyPath); diff --git a/src/Sarif/Writers/ConsoleLogger.cs b/src/Sarif/Writers/ConsoleLogger.cs index ca1384bc8..d6794da32 100644 --- a/src/Sarif/Writers/ConsoleLogger.cs +++ b/src/Sarif/Writers/ConsoleLogger.cs @@ -26,9 +26,9 @@ public ConsoleLogger(bool quietConsole, string toolName, IEnumerable level = null, IEnumerable kind = null) : this(new StreamWriter(new FileStream(outputFilePath, FileMode.Create, FileAccess.Write, FileShare.None)), - loggingOptions: loggingOptions, + logFilePersistenceOptions: logFilePersistenceOptions, dataToInsert: dataToInsert, dataToRemove: dataToRemove, tool: tool, @@ -60,7 +60,7 @@ public SarifLogger( public SarifLogger( TextWriter textWriter, - LogFilePersistenceOptions loggingOptions = DefaultLoggingOptions, + LogFilePersistenceOptions logFilePersistenceOptions = DefaultLogFilePersistenceOptions, OptionallyEmittedData dataToInsert = OptionallyEmittedData.None, OptionallyEmittedData dataToRemove = OptionallyEmittedData.None, Tool tool = null, @@ -71,7 +71,7 @@ public SarifLogger( string defaultFileEncoding = null, bool closeWriterOnDispose = true, IEnumerable level = null, - IEnumerable kind = null) : this(textWriter, loggingOptions, closeWriterOnDispose, level, kind) + IEnumerable kind = null) : this(textWriter, logFilePersistenceOptions, closeWriterOnDispose, level, kind) { if (dataToInsert.HasFlag(OptionallyEmittedData.Hashes)) { @@ -118,7 +118,7 @@ public SarifLogger( private SarifLogger( TextWriter textWriter, - LogFilePersistenceOptions loggingOptions, + LogFilePersistenceOptions logFilePersistenceOptions, bool closeWriterOnDipose, IEnumerable level, IEnumerable kind) : base(failureLevels: level, resultKinds: kind) @@ -127,7 +127,7 @@ private SarifLogger( _closeWriterOnDispose = closeWriterOnDipose; _jsonTextWriter = new JsonTextWriter(_textWriter); - _loggingOptions = loggingOptions; + _logFilePersistenceOptions = logFilePersistenceOptions; if (PrettyPrint) { @@ -242,11 +242,11 @@ private void EnhanceRun( public bool PersistEnvironment => _dataToInsert.HasFlag(OptionallyEmittedData.EnvironmentVariables); - public bool OverwriteExistingOutputFile => _loggingOptions.HasFlag(LogFilePersistenceOptions.OverwriteExistingOutputFile); + public bool OverwriteExistingOutputFile => _logFilePersistenceOptions.HasFlag(LogFilePersistenceOptions.OverwriteExistingOutputFile); - public bool PrettyPrint => _loggingOptions.HasFlag(LogFilePersistenceOptions.PrettyPrint); + public bool PrettyPrint => _logFilePersistenceOptions.HasFlag(LogFilePersistenceOptions.PrettyPrint); - public bool Optimize => _loggingOptions.HasFlag(LogFilePersistenceOptions.Optimize); + public bool Optimize => _logFilePersistenceOptions.HasFlag(LogFilePersistenceOptions.Optimize); public virtual void Dispose() { diff --git a/src/Sarif/Writers/SarifOneZeroZeroLogger.cs b/src/Sarif/Writers/SarifOneZeroZeroLogger.cs index 25983fa4d..f25154715 100644 --- a/src/Sarif/Writers/SarifOneZeroZeroLogger.cs +++ b/src/Sarif/Writers/SarifOneZeroZeroLogger.cs @@ -22,7 +22,7 @@ public class SarifOneZeroZeroLogger : SarifLogger public SarifOneZeroZeroLogger( string outputFilePath, - LogFilePersistenceOptions loggingOptions = SarifLogger.DefaultLoggingOptions, + LogFilePersistenceOptions logFilePersistenceOptions = SarifLogger.DefaultLogFilePersistenceOptions, OptionallyEmittedData dataToInsert = OptionallyEmittedData.None, OptionallyEmittedData dataToRemove = OptionallyEmittedData.None, Tool tool = null, @@ -34,7 +34,7 @@ public SarifOneZeroZeroLogger( IEnumerable level = null, IEnumerable kind = null) : base(new StreamWriter(new FileStream(outputFilePath, FileMode.Create, FileAccess.Write, FileShare.None)), - loggingOptions: loggingOptions, + logFilePersistenceOptions: logFilePersistenceOptions, dataToInsert: dataToInsert, dataToRemove: dataToRemove, defaultFileEncoding: defaultFileEncoding, diff --git a/src/Test.UnitTests.Sarif.Driver/DriverExtensionMethodsTests.cs b/src/Test.UnitTests.Sarif.Driver/DriverExtensionMethodsTests.cs index 07683020c..5a8e18931 100644 --- a/src/Test.UnitTests.Sarif.Driver/DriverExtensionMethodsTests.cs +++ b/src/Test.UnitTests.Sarif.Driver/DriverExtensionMethodsTests.cs @@ -24,7 +24,7 @@ public void ConvertingAnalyzeOptionsToLoggingOptions_ProducesExpectedLoggingOpti Quiet = true }; - loggingOptions = analyzeOptions.ConvertToLoggingOptions(); + loggingOptions = analyzeOptions.ConvertToLogFilePersistenceOptions(); loggingOptions.Should().Be(LogFilePersistenceOptions.PrettyPrint); analyzeOptions = new TestAnalyzeOptions() @@ -32,7 +32,7 @@ public void ConvertingAnalyzeOptionsToLoggingOptions_ProducesExpectedLoggingOpti Minify = true }; - loggingOptions = analyzeOptions.ConvertToLoggingOptions(); + loggingOptions = analyzeOptions.ConvertToLogFilePersistenceOptions(); loggingOptions.Should().Be(LogFilePersistenceOptions.None); analyzeOptions = new TestAnalyzeOptions() @@ -41,7 +41,7 @@ public void ConvertingAnalyzeOptionsToLoggingOptions_ProducesExpectedLoggingOpti PrettyPrint = true }; - loggingOptions = analyzeOptions.ConvertToLoggingOptions(); + loggingOptions = analyzeOptions.ConvertToLogFilePersistenceOptions(); loggingOptions.Should().Be(LogFilePersistenceOptions.PrettyPrint); analyzeOptions = new TestAnalyzeOptions() @@ -49,7 +49,7 @@ public void ConvertingAnalyzeOptionsToLoggingOptions_ProducesExpectedLoggingOpti Force = true }; - loggingOptions = analyzeOptions.ConvertToLoggingOptions(); + loggingOptions = analyzeOptions.ConvertToLogFilePersistenceOptions(); loggingOptions.Should().Be( LogFilePersistenceOptions.OverwriteExistingOutputFile | LogFilePersistenceOptions.PrettyPrint); diff --git a/src/Test.UnitTests.Sarif.Driver/Sdk/SarifLoggerTests.cs b/src/Test.UnitTests.Sarif.Driver/Sdk/SarifLoggerTests.cs index a37acc2cc..fd3408e74 100644 --- a/src/Test.UnitTests.Sarif.Driver/Sdk/SarifLoggerTests.cs +++ b/src/Test.UnitTests.Sarif.Driver/Sdk/SarifLoggerTests.cs @@ -22,7 +22,7 @@ public void CanWriteToStream() var logger = new SarifLogger( textWriter, analysisTargets: Enumerable.Empty(), - loggingOptions: LogFilePersistenceOptions.None, + logFilePersistenceOptions: LogFilePersistenceOptions.None, invocationTokensToRedact: null, invocationPropertiesToLog: null); diff --git a/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs b/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs index 4beb5ef0c..fedd1179b 100644 --- a/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs +++ b/src/Test.UnitTests.Sarif/Writers/SarifLoggerTests.cs @@ -56,7 +56,7 @@ private static void StreamOwnershipHelper(bool closeWriterOnDispose) using (var logger = new SarifLogger( streamWriter, - loggingOptions: LogFilePersistenceOptions.PrettyPrint, + logFilePersistenceOptions: LogFilePersistenceOptions.PrettyPrint, dataToRemove: OptionallyEmittedData.NondeterministicProperties, closeWriterOnDispose: closeWriterOnDispose)) { @@ -172,7 +172,7 @@ public void SarifLogger_RedactedCommandLine() using (var sarifLogger = new SarifLogger( textWriter, analysisTargets: null, - loggingOptions: LogFilePersistenceOptions.None, + logFilePersistenceOptions: LogFilePersistenceOptions.None, invocationTokensToRedact: tokensToRedact, invocationPropertiesToLog: new List { "CommandLine" })) { } @@ -226,7 +226,7 @@ public void SarifLogger_WritesSarifLoggerVersion() using (var sarifLogger = new SarifLogger( textWriter, analysisTargets: new string[] { @"example.cpp" }, - loggingOptions: LogFilePersistenceOptions.None, + logFilePersistenceOptions: LogFilePersistenceOptions.None, invocationTokensToRedact: null, invocationPropertiesToLog: null)) {