Wyjazd maven-monitor API
Możesz dodać EventMonitor do dyspozytora, a następnie pułapka koniec imprezy „reaktor wykonać”: to jest wywoływane po wszystko jest zakończone, czyli nawet po wyświetleniu tworzenia skutecznych/FAILED output.
Oto jak użyłem go niedawno, aby wydrukować podsumowanie na samym końcu:
/**
* The Maven Project Object
*
* @parameter expression="${project}"
* @required
* @readonly
*/
protected MavenProject project;
/**
* The Maven Session.
*
* @parameter expression="${session}"
* @required
* @readonly
*/
protected MavenSession session;
...
@Override
public void execute() throws MojoExecutionException, MojoFailureException
{
//Register the event handler right at the start only
if (project.isExecutionRoot())
registerEventMonitor();
...
}
/**
* Register an {@link EventMonitor} with Maven so that we can respond to certain lifecycle events
*/
protected void registerEventMonitor()
{
session.getEventDispatcher().addEventMonitor(
new EventMonitor() {
@Override
public void endEvent(String eventName, String target, long arg2) {
if (eventName.equals("reactor-execute"))
printSummary();
}
@Override
public void startEvent(String eventName, String target, long arg2) {}
@Override
public void errorEvent(String eventName, String target, long arg2, Throwable arg3) {}
}
);
}
/**
* Print summary at end
*/
protected void printSummary()
{
...
}
Pozwól, że cię zrozumiem. Masz projekt nadrzędny i niektóre dzieci. Chcesz, aby ten mojo działał po teście w ostatnim projekcie potomnym. Dobrze? – sblundy
Potrzebujesz również gwarancji, że działa? – sblundy
~ 9 lat później ... dla Mavena 3x patrz @Konrad Windszus odpowiedź: org.apache.maven.AbstractMavenLifecycleParticipant' – earcam