[svn] r7674: vs-plugin/trunk/Nemerle.VsIntegration/Project:
NemerleIdeBuildLogger.cs NemerleProjectNode.cs
VladD2
svnadmin at nemerle.org
Sun May 13 06:54:39 CEST 2007
Log:
Improve build output.
Author: VladD2
Date: Sun May 13 06:54:37 2007
New Revision: 7674
Modified:
vs-plugin/trunk/Nemerle.VsIntegration/Project/NemerleIdeBuildLogger.cs
vs-plugin/trunk/Nemerle.VsIntegration/Project/NemerleProjectNode.cs
Modified: vs-plugin/trunk/Nemerle.VsIntegration/Project/NemerleIdeBuildLogger.cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/Project/NemerleIdeBuildLogger.cs (original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/Project/NemerleIdeBuildLogger.cs Sun May 13 06:54:37 2007
@@ -274,6 +274,8 @@
task.Line, task.Column, task.Line, task.Column);
}
+ System.Diagnostics.Stopwatch _timer;
+
/// <summary>
/// This is the delegate for BuildStartedHandler events.
/// </summary>
@@ -284,6 +286,8 @@
// Remove all errors and warnings since we are rebuilding
_taskProvider.Tasks.Clear();
+
+ _timer = System.Diagnostics.Stopwatch.StartNew();
}
/// <summary>
@@ -294,8 +298,30 @@
private void BuildFinishedHandler(object sender, BuildFinishedEventArgs buildEvent)
{
LogEvent(sender, buildEvent);
+ if (OutputWindowPane != null && !String.IsNullOrEmpty(buildEvent.Message))
+ {
+ StringBuilder msg = new StringBuilder(_currentIndent + buildEvent.Message.Length + 1);
+ if (_currentIndent > 0)
+ msg.Append('\t', _currentIndent);
+
+ msg.Append(_buildTargetName ?? "Build");
+ msg.Append(buildEvent.Succeeded ? " succeeded -- " : " failed -- ");
+
+ if (!buildEvent.Succeeded)
+ msg.Append(TaskCount(TaskErrorCategory.Error) + "errors, ");
+
+ msg.AppendLine(TaskCount(TaskErrorCategory.Warning) + " warnings. Build took: "
+ + _timer.Elapsed + ".");
+
+ OutputWindowPane.OutputStringThreadSafe(msg.ToString());
+ }
}
+ public string BuildTargetName
+ {
+ get { return _buildTargetName; } set { _buildTargetName = value; }
+ }
+ string _buildTargetName;
/// <summary>
/// This is the delegate for ProjectStartedHandler events.
@@ -421,16 +447,16 @@
private void LogEvent(object sender, BuildEventArgs buildEvent)
{
// Fill in the Message text
- if (OutputWindowPane != null && !String.IsNullOrEmpty(buildEvent.Message))
+ if (OutputWindowPane != null && !String.IsNullOrEmpty(buildEvent.Message)
+ && LogAtImportance(MessageImportance.Low))
{
StringBuilder msg = new StringBuilder(_currentIndent + buildEvent.Message.Length + 1);
if (_currentIndent > 0)
msg.Append('\t', _currentIndent);
- string txt = buildEvent.Message.TrimEnd('.');
+ string txt = buildEvent.Message;
- msg.AppendLine(txt + " -- " + TaskCount(TaskErrorCategory.Error) + " errors, "
- + TaskCount(TaskErrorCategory.Warning) + " warnings");
+ msg.AppendLine(txt);
OutputWindowPane.OutputStringThreadSafe(msg.ToString());
}
Modified: vs-plugin/trunk/Nemerle.VsIntegration/Project/NemerleProjectNode.cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/Project/NemerleProjectNode.cs (original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/Project/NemerleProjectNode.cs Sun May 13 06:54:37 2007
@@ -185,6 +185,12 @@
#region Overridden Methods
+ protected override MSBuildResult InvokeMsBuild(string target)
+ {
+ ((NemerleIdeBuildLogger)BuildLogger).BuildTargetName = target;
+ return base.InvokeMsBuild(target);
+ }
+
/// <summary>
/// Gets the automation object for the project node.
/// </summary>
More information about the svn
mailing list