[xbuild] ConsoleLogger - Correctly indent multi-line messages.
authorAnkit Jain <radical@corewars.org>
Tue, 11 Jan 2011 13:13:49 +0000 (18:43 +0530)
committerAnkit Jain <radical@corewars.org>
Tue, 11 Jan 2011 13:28:28 +0000 (18:58 +0530)
Split and correctly indent multi-line messages in ConsoleLogger.

mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ConsoleLogger.cs

index 2834998c8e916cde5b8a42f7f6acb01192c82528..759c88b09cdafa168e7389ae40f3b0588e7ddbf9 100644 (file)
@@ -456,9 +456,11 @@ namespace Microsoft.Build.BuildEngine {
                                StringBuilder sb = new StringBuilder ();
                                for (int i = 0; i < indent; i++)
                                        sb.Append ('\t');
-                               sb.Append (message);
 
-                               writeHandler (sb.ToString ());
+                               string indent_str = sb.ToString ();
+
+                               foreach (string line in message.Split (new string[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries))
+                                       writeHandler (indent_str + line);
                        } else {
                                writeHandler (message);
                        }