15

私のチームが取り組んでいる種類のプロジェクト (Embedded Java) 用の「プロジェクト テンプレート」を作成する可能性を調査しています。私たちは、新しい開発者が新しいプロジェクトの作成を台無しにしないようにすることを簡単にしたいと考えています。私たちのチームで使用するすべてのツールは、PR でなければなりません。

基本的な考え方は、プロジェクトと IDE をセットアップするための1 つのコマンドで、次の機能を提供する必要があるということです。

  • Eclipse プロジェクト ファイルを含む新しい Java プロジェクトを作成します。
  • ビルド スクリプトを作成します (IDE の外部で作業する必要があります)。
  • ビルド スクリプトにデプロイ オプションを含めます。
  • git プロジェクトをセットアップします。
  • IDE に統合された設定済みのルール セットを使用して PMD を実行するように設定します。
  • IDE に統合された構成済みの一連のルールで実行するように Checkstyle をセットアップします。
  • チームのコーディング ガイドライン (Javadoc など) に合わせてコード テンプレート (Eclipse) を構成します。
  • Eclipse コード フォーマッターを構成します。
  • コマンドの構成は、簡単にアップグレードできる必要があります。

これまでのところ、これを行うには2つの方法があります。

  • Maven 2 Archetype : 私は基本的に maven が好きではありません。ツールに自分のやりたいことをさせようとするオーバーヘッドが、その努力を正当化するかどうかはわかりません。一方で、これはまさにアーキタイプがすべきことのように思えます。eclipse:eclipse の部分をどこまでカスタマイズできるか、経験はありますか? Eclipse の構成が最も複雑なステップになると思います。
  • Eclipse ネイチャー: プロジェクト ネイチャーを作成できました。私が右クリック - > New - > My Java Project Type のようなものを提供することを選択した場合、表示されるコンポーネントである Eclipse Ecosystem を理解している限り。結果の Eclipse プロジェクトをどこまでカスタマイズできるか知っていますか?
  • シェル スクリプト: すべての構成が整った空のプロジェクトを作成し、関連するプレーン テキスト ファイルにいくつかの特別なトークンを導入することができます (次に、プロパティ ファイルからこれらのオプションの値を読み取るシェルスクリプトを作成し、プロジェクト テンプレートをコピーして置き換えます)。その価値。)。少し壊れやすいかもしれませんが、簡単で迅速な方法のようです。

もう少しコンテキストを教えてください。結果が私たちをEclipseに閉じ込めるなら、それは問題ありません。ビルドは (CI の場合) Eclipse なしで実行する必要がありますが、チームは Eclipse を使用しており、切り替える可能性はほとんどありません。また、すべての開発者は多かれ少なかれ同じハード + ソフトウェア (Linux) を実行します。私たちは Enterprise Java Apps のドメインで作業していないので、maven の高度な依存関係管理機能はまったく必要ありません。実際のところ、私たちのビルド プロセスは非常に特殊であるため、make または ant スクリプトを呼び出すだけの方がおそらくはるかに簡単です。

したがって、質問は次のとおりです。

  1. この種の経験はありますか?
  2. Eclipse Nature 方式または Maven 方式のいずれかについて意見はありますか?
  3. そのようなセットアップを提供する他のツールを知っていますか?

ご意見をお寄せいただきありがとうございます。

乾杯、バレンティン

PS: 人々はビルド ツールについて信心深いようです。ここで、maven の賛成または反対のフレームワークを開始したくないことに注意してください。Maven は優れたツールになると確信していますが、私たちのコンテキストでは、その機能の 5% しか必要なく、私の経験から、残りの 95% が邪魔になる可能性があると思います。

4

3 に答える 3

7

また、独自の PDE ツール プロジェクトを作成し、PDE プロジェクト テンプレートを拡張することもできます。

IBM DelevoperWorks ネットワークには、Eclipse プラグイン開発環境を使用してテンプレートを構築するための優れた紹介を提供する優れた記事があります。

次の PDE 拡張ポイントに関する Eclipse ドキュメントを読むこともできます。

  • org.eclipse.pde.ui.templates-- 新しい拡張機能のコードを生成するために使用されるプラグイン プロジェクト コンテンツ テンプレートを登録します。
  • org.eclipse.pde.ui.newExtension-- PDE プラグイン マニフェスト エディターで新しい拡張機能を作成および編集するために使用されるウィザードを提供します。
  • org.eclipse.pde.ui.pluginContent-- PDE プラグイン プロジェクトの追加コンテンツを作成する貢献ウィザードを提供します。
于 2010-01-19T08:51:30.407 に答える
3

何をするにせよ、これに Maven VIRUS を使用することなど考えないでください。例外: 自分自身が嫌いで、自分自身や他の人に不必要な苦痛を与えることを楽しんでいる場合は、何らかの不快な喜びを感じているため、Maven を使用する必要があります。仕事中に内出血もしたい場合は、アイビーを入れてください。

Eclipse の生成は良い考えです (エンド ユーザーにとってはおそらく理想的です) が、現実的には、これがこのような大規模なプロジェクトにならないようにするには、単純な解決策を採用するだけです: テンプレートを作成し、それをカスタマイズする簡単な方法を使用します。本当に必要な場合は、検索/置換または単純な Python スクリプトを使用してください。完全でしっかりした、再利用可能なテンプレートをそのまま (プロジェクト自体) 考え出すのは非常に困難です。Eclipse プラグインまたはその他のより自動化されたバージョンは、これがどれだけの作業量であるかをよりよく理解した後で提供されます。

テンプレートは小さく、単一の作成者によって作成されるため、検索/置換またはスクリプト メソッドは「壊れやすい」ものではありません。より複雑なソリューションは、単純なソリューションではなく、実際に脆弱になる傾向があるソリューションです。

これは素晴らしいアイデアだと思うので、他の人に言わせないでください。私もこのようなテンプレートを作成しています。

于 2010-07-19T01:51:29.177 に答える