private BuildEventArgs CreateBuildEventArgs(string formattedMessage, Level level) { TargetBuildEventArgs args = new TargetBuildEventArgs(new Target(), Stopwatch.StartNew()); args.Message = formattedMessage; args.MessageLevel = level; return(args); }
/// <summary> /// Signals that logging for a target has started. May not correspond with <see cref="TargetStarted(object, TargetBuildEventArgs)"/> if /// the target is running in parallel with buffered logging. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">A <see cref="TargetBuildEventArgs" /> object that contains the event data.</param> public virtual void TargetLoggingStarted(object sender, TargetBuildEventArgs e) { lock (_xmlWriter) { _xmlWriter.WriteStartElement(Elements.Target); WriteNameAttribute(e.Target.Name); _xmlWriter.Flush(); } }
/// <summary> /// Signals that logging for a target has finished. May not correspond with <see cref="TargetFinished(object, TargetBuildEventArgs)"/> if /// the target is running in parallel with buffered logging. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">A <see cref="TargetBuildEventArgs" /> object that contains the event data.</param> /// <remarks> /// This event will still be fired if an error occurred during the build. /// </remarks> public virtual void TargetLoggingFinished(object sender, TargetBuildEventArgs e) { lock (_xmlWriter) { // output total target duration WriteDuration(e.Stopwatch); // close target element _xmlWriter.WriteEndElement(); _xmlWriter.Flush(); } }
public void TargetStartedAndTargetFinished() { string expected = @"<target name=""foo""><duration>123</duration></target>"; _log = CreateXmlLogger(CreateDateTimeProvider(123)); TargetBuildEventArgs args = CreateBuildEventArgsWithTarget("foo"); _log.TargetStarted(this, args); _log.TargetFinished(this, args); Assert.AreEqual(expected, _log.ToString()); }
/// <summary> /// Dispatches a <see cref="TargetFinished" /> event to the build listeners /// for this <see cref="Project" />. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">A <see cref="TargetBuildEventArgs" /> that contains the event data.</param> public void OnTargetLoggingFinished(object sender, TargetBuildEventArgs e) { this.disablingLock.AcquireReaderLock(1000); if (disabled) { this.DestinationLogger.OnTargetLoggingFinished(sender, e); } else { this.LoggingQueue.Enqueue(() => { this.DestinationLogger.OnTargetLoggingFinished(sender, e); }); } this.disablingLock.ReleaseReaderLock(); }
/// <summary> /// Signals that a target has started. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">A <see cref="BuildEventArgs" /> object that contains the event data.</param> public virtual void TargetStarted(object sender, TargetBuildEventArgs e) { int indentationLevel = 0; if (e.Project != null) { indentationLevel = e.Project.IndentationLevel * e.Project.IndentationSize; } if (e.Target != null) { OutputMessage(Level.Info, string.Empty, indentationLevel); OutputMessage(Level.Info, string.Format(CultureInfo.InvariantCulture, "{0}:", e.Target.Name), indentationLevel); OutputMessage(Level.Info, string.Empty, indentationLevel); } }
public void TargetStarted(object sender, TargetBuildEventArgs e) { _targetStartedFired = true; if (e.Target != null) { if (_executedTargets.ContainsKey(e.Target.Name)) { _executedTargets[e.Target.Name] = ((int)_executedTargets[e.Target.Name]) + 1; } else { _executedTargets.Add(e.Target.Name, 1); } _targetStartTimes[e.Target.Name] = DateTime.UtcNow; } }
/// <summary> /// Signals that a target has finished. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">A <see cref="TargetBuildEventArgs" /> object that contains the event data.</param> /// <remarks> /// This event will still be fired if an error occurred during the build. /// </remarks> public void TargetFinished(object sender, TargetBuildEventArgs e) { }
/// <summary> /// Signals that a target has started. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">A <see cref="TargetBuildEventArgs" /> object that contains the event data.</param> public void TargetStarted(object sender, TargetBuildEventArgs e) { }
/// <summary> /// Signals that logging for a target has stopped /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">A <see cref="BuildEventArgs" /> object that contains the event data.</param> public void TargetLoggingFinished(object sender, TargetBuildEventArgs e) { throw new NotImplementedException(); }
public void TargetFinished(object sender, TargetBuildEventArgs e) { _targetFinishedFired = true; _targetFinishTimes[e.Target.Name] = DateTime.UtcNow; }