0

ビルド結果を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 クラスパスに追加する必要があります。ユーザーには適していません。

イベントを正しくリッスンするにはどうすればよいですか?

4

1 に答える 1

0

ローカル デスクトップに Jenkins サーバーをセットアップし、テストを実行して通知するようにしてみませんか?

おそらく、どこかに Jenkins のうなり声のような通知機能があるか、最悪の場合、テスト結果を含む電子メールを localhost に送信するだけです。これには、過去のテスト結果が保持されるという利点もあります。

GIT などの優れた SCM を使用している場合は、ローカル チェックアウトをアップストリームとしてポーリングするように Jenkins を設定して、すべてのコミットを個別にチェックすることができます。あまり良くない SCM を使用している場合は、ジョブの最初のステップですべてのソースをワークスペースから Jenkins のワークスペースにコピーして、Jenkins のコンパイル フェーズを壊すことを恐れずにコードを書き続けることができるようにします。

また、組み込みの Maven プロジェクト タイプに Maven ビルド ステップを使用した FreeStyle プロジェクトを好みます (ただし、それは私自身の個人的な偏見にすぎない可能性があります)。

于 2012-08-13T08:07:47.137 に答える