Package hudson.ivy

Class IvyReporter

java.lang.Object
hudson.ivy.IvyReporter
All Implemented Interfaces:
ExtensionPoint, Describable<IvyReporter>, Serializable

public abstract class IvyReporter extends Object implements Describable<IvyReporter>, ExtensionPoint, Serializable
Listens to the build execution of IvyBuild, and normally records some information and exposes these in IvyBuild later.

IvyReporter is first instantiated on the master. Then during the build, it is serialized and sent over into the Ant process by serialization. Reporters will then receive event callbacks as Ant build events. Those event callbacks are the ones that take IvyBuildProxy.

Once the Ant build completes normally or abnormally, the reporters will be sent back to the master by serialization again, then have its end(IvyBuild, Launcher, BuildListener) method invoked. This is a good opportunity to perform the post-build action.

This is the IvyBuild equivalent of BuildStep. Instances of IvyReporters are persisted with IvyModule/IvyModuleSet, possibly with configuration specific to that job.

Callback Firing Sequence

The callback methods are invoked in the following order:

 SEQUENCE := preBuild MODULE* postBuild end
 MODULE   := enterModule leaveModule
 

When an error happens, the call sequence could be terminated at any point and no further callback methods may be invoked.

Action

IvyReporter can contribute Action to IvyBuild so that the report can be displayed in the web UI.

Such action can also implement AggregatableAction if it further wishes to contribute a separate action to IvyModuleSetBuild. This mechanism is usually used to provide aggregated report for all the module builds.

Author:
Kohsuke Kawaguchi
See Also: