ビルド結果をgrowlのようにデスクトップに通知するシンプルなプラグインを開発しています。 https://github.com/kompiro/notification-maven-plugin
さて、ビルド結果イベントをリッスンする良い方法はないと思います。
イベントをリッスンする 2 つの方法をテストしました。
を。MavenSession#getRequest() の ExecutionListener
この方法は以下で実装されます。 https://github.com/kompiro/notification-maven-plugin/blob/master/src/main/java/org/kompiro/nortification/buildresult/NotificationMojo.java
この方法は通知するためにうまく動作していますが、問題があります。デフォルトの Maven イベント実行リスナーを置き換えました。そのため、ユーザーがこのプラグインを追加すると、Maven の実行ログはありません。私の実装はデフォルトのイベント実行リスナー「ExecutionEventLogger」を拡張すると思っていましたが、ExecutionEventLogger のコンストラクターには神経叢のロガーが必要なため、拡張できません。ロガー オブジェクトを取得できません。
b. EventSpy を使用する
これはパブリック インターフェイスではないため、ユーザーはプラグインを maven.ext クラスパスに追加する必要があります。ユーザーには適していません。
イベントを正しくリッスンするにはどうすればよいですか?