8

Velocityを使用してプロジェクトを生成するコード ジェネレーターは多数あります。生成は非常に複雑になる可能性があります。

  • リフレクションは、速度を呼び出す前に (インターフェースが必要なサードパーティのプロキシをイントロスペクトするために) 使用されます。結果のプロパティ (複雑なオブジェクト グラフ) が速度コンテキストに追加されます。

  • プロジェクト構造とファイルは、選択したオプションによって異なる場合があります

  • テンプレートは単なる変数置換以上のことを行います (テンプレートで繰り返される他のオブジェクトのコレクションを含む、多くの派生プロパティを含む速度コンテキストに追加されたカスタム オブジェクトを利用します)

これらは Velocity も使用しているため、 maven アーキタイプに置き換えたいと思いますが、単純な変数置換と静的ファイル/フォルダー構造しかできないようです。

  1. アーキタイプからプロジェクトを作成する前に処理を行い、ベロシティ コンテキストにオブジェクトを追加し、アーキタイプ テンプレートがそれらにアクセスできるようにする方法はありますか?

  2. もしそうなら、作成するフォルダとファイルは動的にできますか? (または、バリエーションごとに個別のアーキタイプが必要ですか?)

  3. それとも、カスタム Mojo を作成する方がよいのでしょうか? (基本的に、既存のジェネレーターを Maven プラグインでラップします)

4

0 に答える 0