2011-12-26 6 views
1

私たちはプロパティファイルにmaven filteringを使用しています。ここでは、Jenkinsサーバからビルド番号と時間を入力します。mavenコンパイルフェーズの前にプロパティファイルにエントリを追加する

プロパティをapp.local.propertiesファイルに動的に追加して、各プロジェクト管理者に追加することはできます(1回の操作でも、それほど厄介ではありません)。

私は、ファイル

  • にキックをプラグインフィルタの前に、プロパティにのparamsを追加したいと思います
  • を先のプロパティファイルが存在しない場合 - 。>それを作成し、追加します。
  • ターゲットディレクトリのプロパティファイルを編集する必要があります(src/main/resourcesディレクトリは変更しないでください)。
  • 持っているニース

:彼らはすでにファイルで定義されていない場合にのみ

  • は(複製エントリは手動で追加を避けるために)構成設定を追加

いくつかのMavenプラグインはあります/私はこれを行うために叩くことができるフックですか?

  • にキックをプラグインフィルタの前に、プロパティファイルにのparamsを追加

ですから、フィルタプラグイン作品として、src/main/resourcesでプロパティを編集する必要があります。

答えて

0

カスタムmavenビルド拡張をビルドして、これらのプロパティをcetntralサービスから動的に取得し、ビルドプロセスの開始直後にメモリ内のPOMに注入することができます。確かに、私たちが会社のセットアップでこの問題をどのように解決したかです。

私はほとんど私がやっているだろうかのように、私はそれを試してみて、更新しますサウンドをフルレシピto this Stackoverflow answer

+0

ありがとう、これは、この問題の他のすべての解決策を少なくしています。 「吸う」とは、MySpecialExtensionの変更がバージョンの競合を回避する必要があることを意味します(元の7か月のアーティファクトを再構築したい場合)。私はこれを受け入れています。最も適した解決策が見つかったようです。 –

+0

thats true - 少なくともMySpecialExtensionの特定のバージョンへの依存関係は、「消費する」POM内に明確に記述できます。 – Ichthyo

0

私はここで競合が表示されます。

  • 対象のディレクトリ(src/main/resourcesディレクトリは変更しないでください)でプロパティファイルを編集する必要があります。

私が理解していることは、このフィルタリングを「オンザフライで」何らかの形で行うことです。私はMavenのメカニズムがそれを行うことができるとは思わない。私はprocess-resourcesフェーズで呼び出すAntrun plugin(Maven処理のプロパティファイルを除く)を使って完全にやります。プロパティファイルの編集と保存にはpropertyFile taskがあります。変更を保存した後、たとえばフィルタを適用するためにregexp taskを使用してもう一度ファイルを処理できます。

+0

を掲載しました。 –

関連する問題