Package 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
`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()`