diff --git a/src/fsharp/FSharp.Build/Fsc.fs b/src/fsharp/FSharp.Build/Fsc.fs index 1ccf836975b0f187eacb19e47d2d7ba546991a53..2d1bc51cea70750d2a5e6078d22bfdd11c5b587b 100644 --- a/src/fsharp/FSharp.Build/Fsc.fs +++ b/src/fsharp/FSharp.Build/Fsc.fs @@ -158,7 +158,7 @@ type [ "winexe" | "MODULE" -> "module" | _ -> null) - + // NoWarn match disabledWarnings with | null -> () @@ -418,7 +418,7 @@ type [ignore + member internal fsc.InternalGenerateFullPathToTool() = fsc.GenerateFullPathToTool() // expose for unit testing member internal fsc.BaseExecuteTool(pathToTool, responseFileCommands, commandLineCommands) = // F# does not allow protected members to be captured by lambdas, this is the standard workaround base.ExecuteTool(pathToTool, responseFileCommands, commandLineCommands) diff --git a/vsintegration/src/FSharp.ProjectSystem.Base/Project/IDEBuildLogger.cs b/vsintegration/src/FSharp.ProjectSystem.Base/Project/IDEBuildLogger.cs index 175c15660c0b63080e8f443fd953229f01a1a79b..a8e766877e7c5d63bde94713a9c6be4df687da1e 100644 --- a/vsintegration/src/FSharp.ProjectSystem.Base/Project/IDEBuildLogger.cs +++ b/vsintegration/src/FSharp.ProjectSystem.Base/Project/IDEBuildLogger.cs @@ -358,7 +358,7 @@ private void BuildStartedHandler(object sender, BuildStartedEventArgs buildEvent try { this.haveCachedRegistry = false; - if (LogAtImportance(MessageImportance.Low)) + if (LogAtImportance(MessageImportance.Normal)) { LogEvent(sender, buildEvent); } @@ -385,7 +385,7 @@ private void BuildFinishedHandler(object sender, BuildFinishedEventArgs buildEve { try { - if (LogAtImportance(buildEvent.Succeeded ? MessageImportance.Low : + if (LogAtImportance(buildEvent.Succeeded ? MessageImportance.Normal : MessageImportance.High)) { if (this.outputWindowPane != null) @@ -408,7 +408,7 @@ private void ProjectStartedHandler(object sender, ProjectStartedEventArgs buildE { try { - if (LogAtImportance(MessageImportance.Low)) + if (LogAtImportance(MessageImportance.Normal)) { LogEvent(sender, buildEvent); } @@ -427,7 +427,7 @@ private void ProjectFinishedHandler(object sender, ProjectFinishedEventArgs buil { try { - if (LogAtImportance(buildEvent.Succeeded ? MessageImportance.Low + if (LogAtImportance(buildEvent.Succeeded ? MessageImportance.Normal : MessageImportance.High)) { LogEvent(sender, buildEvent); @@ -473,7 +473,7 @@ private void TargetFinishedHandler(object sender, TargetFinishedEventArgs buildE { --this.currentIndent; if ((isLogTaskDone) && - LogAtImportance(buildEvent.Succeeded ? MessageImportance.Low + LogAtImportance(buildEvent.Succeeded ? MessageImportance.Normal : MessageImportance.High)) { LogEvent(sender, buildEvent); @@ -556,36 +556,37 @@ private void CustomHandler(object sender, CustomBuildEventArgs buildEvent) /// This method takes a MessageImportance and returns true if messages /// at importance i should be loggeed. Otherwise return false. /// - private bool LogAtImportance(MessageImportance importance) - { - // If importance is too low for current settings, ignore the event - bool logIt = false; - - this.SetVerbosity(); - - switch (this.Verbosity) - { - case LoggerVerbosity.Quiet: - logIt = false; - break; - case LoggerVerbosity.Minimal: - logIt = (importance == MessageImportance.High); - break; - case LoggerVerbosity.Normal: - // Falling through... - case LoggerVerbosity.Detailed: - logIt = (importance != MessageImportance.Low); - break; - case LoggerVerbosity.Diagnostic: - logIt = true; - break; - default: - Debug.Fail("Unknown Verbosity level. Ignoring will cause everything to be logged"); - break; - } - - return logIt; - } + private bool LogAtImportance(MessageImportance importance) + { + // If importance is too low for current settings, ignore the event + bool logIt = false; + + this.SetVerbosity(); + + switch (this.Verbosity) + { + case LoggerVerbosity.Quiet: + logIt = false; + break; + case LoggerVerbosity.Minimal: + logIt = (importance == MessageImportance.High); + break; + case LoggerVerbosity.Normal: + logIt = (importance == MessageImportance.Normal) || (importance == MessageImportance.High); + break; + case LoggerVerbosity.Detailed: + logIt = (importance == MessageImportance.Low) || (importance == MessageImportance.Normal) || (importance == MessageImportance.High); + break; + case LoggerVerbosity.Diagnostic: + logIt = true; + break; + default: + Debug.Fail("Unknown Verbosity level. Ignoring will cause everything to be logged"); + break; + } + + return logIt; + } /// /// This is the method that does the main work of logging an event