Currently, when maven build is triggered, you can not notify external resources when phase started/ended and same for plugin.
Having a framework to register listeners can solve this issue.
Here is an initial interface I thought can help:
For plugin listener, it would be nice to pass also the plugin's configuration as input.
public interface MavenPluginListener { void onPluginStart(); void onPluginEnd(); }
For phase listener:
public interface MavenPhaseListener { void onPhaseStart(); void onPhaseEnd(int status); }
Registration should be done from pom.xml file, either as part of plugin configuration or in a separate section.
