BuildListener (Apache Ant API)
Date: 2018-07-10

org.apache.tools.ant

## Interface BuildListener

- All Superinterfaces:
    java.util.EventListener
  All Known Subinterfaces:
    BuildLogger, SubBuildListener
  All Known Implementing Classes:
    AnsiColorLogger, AntClassLoader, AntClassLoader2, AntClassLoader5, AntSoundPlayer, BigProjectLogger, CommonsLoggingListener, DefaultLogger, FailureRecorder, Log4jListener, MailLogger, ModifiedSelector, NoBannerLogger, ProfileLogger, Recorder, RecorderEntry, SilentLogger, SimpleBigProjectLogger, SplitClassLoader, TimestampedLogger, XmlLogger

      public interface BuildListener
      extends java.util.EventListener

  Instances of classes that implement this interface can register to be notified when things happened during a build.
  See Also:
    `BuildEvent`, `Project.addBuildListener(BuildListener)`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `buildFinished(BuildEvent event)` Signals that the last target has finished.
    `void` | `buildStarted(BuildEvent event)` Signals that a build has started.
    `void` | `messageLogged(BuildEvent event)` Signals a message logging event.
    `void` | `targetFinished(BuildEvent event)` Signals that a target has finished.
    `void` | `targetStarted(BuildEvent event)` Signals that a target is starting.
    `void` | `taskFinished(BuildEvent event)` Signals that a task has finished.
    `void` | `taskStarted(BuildEvent event)` Signals that a task is starting.

- - ### Method Detail

    - #### buildStarted

          void buildStarted(BuildEvent event)

      Signals that a build has started. This event is fired before any targets have started.

      This event is fired before the project instance is fully configured. In particular no properties have been set and the project may not know its name or default target, yet.

      Parameters:
        `event` - An event with any relevant extra information. Must not be `null`.

    - #### buildFinished

          void buildFinished(BuildEvent event)

      Signals that the last target has finished. This event will still be fired if an error occurred during the build.
      Parameters:
        `event` - An event with any relevant extra information. Must not be `null`.
      See Also:
        `BuildEvent.getException()`

    - #### targetStarted

          void targetStarted(BuildEvent event)

      Signals that a target is starting.
      Parameters:
        `event` - An event with any relevant extra information. Must not be `null`.
      See Also:
        `BuildEvent.getTarget()`

    - #### targetFinished

          void targetFinished(BuildEvent event)

      Signals that a target has finished. This event will still be fired if an error occurred during the build.
      Parameters:
        `event` - An event with any relevant extra information. Must not be `null`.
      See Also:
        `BuildEvent.getException()`

    - #### taskStarted

          void taskStarted(BuildEvent event)

      Signals that a task is starting.
      Parameters:
        `event` - An event with any relevant extra information. Must not be `null`.
      See Also:
        `BuildEvent.getTask()`

    - #### taskFinished

          void taskFinished(BuildEvent event)

      Signals that a task has finished. This event will still be fired if an error occurred during the build.
      Parameters:
        `event` - An event with any relevant extra information. Must not be `null`.
      See Also:
        `BuildEvent.getException()`

    - #### messageLogged

          void messageLogged(BuildEvent event)

      Signals a message logging event.
      Parameters:
        `event` - An event with any relevant extra information. Must not be `null`.
      See Also:
        `BuildEvent.getMessage()`, `BuildEvent.getException()`, `BuildEvent.getPriority()`