// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#if NET_2_0
+
using System;
using System.Runtime.InteropServices;
using System.IO;
int warningCount;
DateTime buildStart;
bool performanceSummary;
- bool summary;
+ bool showSummary;
+ bool skipProjectStartedText;
public ConsoleLogger ()
- : this (LoggerVerbosity.Normal)
+ : this (LoggerVerbosity.Normal, null, null, null)
{
}
public ConsoleLogger (LoggerVerbosity verbosity)
+ : this (LoggerVerbosity.Normal, null, null, null)
+ {
+ }
+
+ // FIXME: what about colorSet and colorReset?
+ public ConsoleLogger (LoggerVerbosity verbosity,
+ WriteHandler write,
+ ColorSetter colorSet,
+ ColorResetter colorReset)
{
this.verbosity = verbosity;
this.indent = 0;
this.errorCount = 0;
this.warningCount = 0;
- this.writeHandler += new WriteHandler (WriteHandlerFunction);
+ if (write == null)
+ this.writeHandler += new WriteHandler (WriteHandlerFunction);
+ else
+ this.writeHandler += write;
this.performanceSummary = false;
- this.summary = true;
+ this.showSummary = true;
+ this.skipProjectStartedText = false;
}
- public virtual void ApplyParameter (string parameterName,
- string parameterValue)
+ public void ApplyParameter (string parameterName,
+ string parameterValue)
{
// FIXME: what we should do here? in msbuild it isn't
// changing "parameters" property
public virtual void Initialize (IEventSource eventSource)
{
- eventSource.BuildStarted += new BuildStartedEventHandler (BuildStarted);
- eventSource.BuildFinished += new BuildFinishedEventHandler (BuildFinished);
- eventSource.ProjectStarted += new ProjectStartedEventHandler (ProjectStarted);
- eventSource.ProjectFinished += new ProjectFinishedEventHandler (ProjectFinished);
- eventSource.TargetStarted += new TargetStartedEventHandler (TargetStarted);
- eventSource.TargetFinished += new TargetFinishedEventHandler (TargetFinished);
- eventSource.TaskStarted += new TaskStartedEventHandler (TaskStarted);
- eventSource.TaskFinished += new TaskFinishedEventHandler (TaskFinished);
- eventSource.MessageRaised += new BuildMessageEventHandler (MessageRaised);
- eventSource.WarningRaised += new BuildWarningEventHandler (WarningRaised);
- eventSource.ErrorRaised += new BuildErrorEventHandler (ErrorRaised);
+ eventSource.BuildStarted += new BuildStartedEventHandler (BuildStartedHandler);
+ eventSource.BuildFinished += new BuildFinishedEventHandler (BuildFinishedHandler);
+ eventSource.ProjectStarted += new ProjectStartedEventHandler (ProjectStartedHandler);
+ eventSource.ProjectFinished += new ProjectFinishedEventHandler (ProjectFinishedHandler);
+ eventSource.TargetStarted += new TargetStartedEventHandler (TargetStartedHandler);
+ eventSource.TargetFinished += new TargetFinishedEventHandler (TargetFinishedHandler);
+ eventSource.TaskStarted += new TaskStartedEventHandler (TaskStartedHandler);
+ eventSource.TaskFinished += new TaskFinishedEventHandler (TaskFinishedHandler);
+ eventSource.MessageRaised += new BuildMessageEventHandler (MessageHandler);
+ eventSource.WarningRaised += new BuildWarningEventHandler (WarningHandler);
+ eventSource.ErrorRaised += new BuildErrorEventHandler (ErrorHandler);
}
- public void BuildStarted (object sender, BuildStartedEventArgs args)
+ public void BuildStartedHandler (object sender, BuildStartedEventArgs args)
{
WriteLine ("");
- WriteLine (String.Format ("Build started {0}.", args.TimeStamp));
+ WriteLine (String.Format ("Build started {0}.", args.Timestamp));
WriteLine ("__________________________________________________");
- buildStart = args.TimeStamp;
+ buildStart = args.Timestamp;
}
- public void BuildFinished (object sender, BuildFinishedEventArgs args)
+ public void BuildFinishedHandler (object sender, BuildFinishedEventArgs args)
{
if (args.Succeeded == true) {
WriteLine ("Build succeeded.");
} else {
WriteLine ("Build failed.");
}
- if (performanceSummary == true)
- ;
- if (summary == true){
- TimeSpan timeElapsed = args.TimeStamp - buildStart;
+ if (performanceSummary == true) {
+ }
+ if (showSummary == true){
+ TimeSpan timeElapsed = args.Timestamp - buildStart;
WriteLine (String.Format ("\t {0} Warning(s)", warningCount));
WriteLine (String.Format ("\t {0} Error(s)", errorCount));
WriteLine ("");
}
}
- public void ProjectStarted (object sender, ProjectStartedEventArgs args)
+ public void ProjectStartedHandler (object sender, ProjectStartedEventArgs args)
{
WriteLine (String.Format ("Project \"{0}\" ({1} target(s)):", args.ProjectFile, args.TargetNames));
WriteLine ("");
}
- public void ProjectFinished (object sender, ProjectFinishedEventArgs args)
+ public void ProjectFinishedHandler (object sender, ProjectFinishedEventArgs args)
{
if (IsVerbosityGreaterOrEqual (LoggerVerbosity.Diagnostic)) {
WriteLine (String.Format ("Done building project \"{0}\".", args.ProjectFile));
}
}
- public void TargetStarted (object sender, TargetStartedEventArgs args)
+ public void TargetStartedHandler (object sender, TargetStartedEventArgs args)
{
WriteLine (String.Format ("Target {0}:",args.TargetName));
indent++;
}
- public void TargetFinished (object sender, TargetFinishedEventArgs args)
+ public void TargetFinishedHandler (object sender, TargetFinishedEventArgs args)
{
indent--;
if (IsVerbosityGreaterOrEqual (LoggerVerbosity.Diagnostic))
WriteLine ("");
}
- public void TaskStarted (object sender, TaskStartedEventArgs args)
+ public void TaskStartedHandler (object sender, TaskStartedEventArgs args)
{
if (this.verbosity == LoggerVerbosity.Diagnostic)
WriteLine (String.Format ("Task \"{0}\"",args.TaskName));
indent++;
}
- public void TaskFinished (object sender, TaskFinishedEventArgs args)
+ public void TaskFinishedHandler (object sender, TaskFinishedEventArgs args)
{
indent--;
if (this.verbosity == LoggerVerbosity.Diagnostic)
WriteLine (String.Format ("Done executing task \"{0}\"",args.TaskName));
}
- public void MessageRaised (object sender, BuildMessageEventArgs args)
+ public void MessageHandler (object sender, BuildMessageEventArgs args)
{
if (IsMessageOk (args)) {
WriteLine (args.Message);
}
}
- public void WarningRaised (object sender, BuildWarningEventArgs args)
+ public void WarningHandler (object sender, BuildWarningEventArgs args)
{
if (IsVerbosityGreaterOrEqual (LoggerVerbosity.Normal))
WriteLineWithoutIndent (FormatWarningEvent (args));
warningCount++;
}
- public void ErrorRaised (object sender, BuildErrorEventArgs args)
+ public void ErrorHandler (object sender, BuildErrorEventArgs args)
{
if (IsVerbosityGreaterOrEqual (LoggerVerbosity.Minimal))
WriteLineWithoutIndent (FormatErrorEvent (args));
errorCount++;
}
+ [MonoTODO]
+ public void CustomEventHandler (object sender, CustomBuildEventArgs args)
+ {
+ }
+
private void WriteLine (string message)
{
for (int i = 0; i < indent; i++)
writeHandler (message);
}
- private void WriteLineWithSender (object sender, string message)
- {
- if ((string) sender == "MSBuild")
- WriteLine (message);
- else
- WriteLine ((string) sender + ": " + message);
- }
-
private void WriteHandlerFunction (string message)
{
Console.WriteLine (message);
this.performanceSummary = true;
break;
case "NoSummary":
- this.summary = false;
+ this.showSummary = false;
break;
default:
throw new ArgumentException ("Invalid parameter.");
ParseParameters ();
}
}
+
+ public bool ShowSummary {
+ get { return showSummary; }
+ set { showSummary = value; }
+ }
+
+ public bool SkipProjectStartedText {
+ get { return skipProjectStartedText; }
+ set { skipProjectStartedText = value; }
+ }
public LoggerVerbosity Verbosity {
- get {
- return verbosity;
- }
- set {
- verbosity = value;
- }
+ get { return verbosity; }
+ set { verbosity = value; }
}
protected WriteHandler WriteHandler {
- get {
- return writeHandler;
- }
- set {
- writeHandler = value;
- }
+ get { return writeHandler; }
+ set { writeHandler = value; }
}
}
}
+
+#endif