4

さらに別の複数プロジェクトの質問、私は知っています。目標のサブセットに対する (相反する) 回答を見たことがありますが、それをすべてカバーするものはありません。 私は日食が初めてで、hgの汚い詳細を知りません。

共通のライブラリ jar、2 つのアプリ、およびいくつかの共通の ant スクリプトが与えられます...

私はこれを設定します

/top/
    build-common/
    lib1/
    app1/
    app2/

日食はサブプロジェクトを行わないことを読んだので、これは4つの日食プロジェクトであり、「トップ」は日食にはなりません。

自動ビルドを含むEclipseビルドにantを使用する方法を読みました。

  • 3 つの Java プロジェクトが build.xml で ../build-common/{scripts} を参照するのは良い習慣ですか? (それが別のEclipseプロジェクトの場合)
  • app1 と app2 は ../lib1/target/lib.jar を参照する必要がありますか? どのように?
  • Ant が Eclipse ビルドを行っている場合、.classpath を維持しますか?
  • Eclipse ユーザーは、自動ビルドがプロジェクトを伝播することを期待していないと思います。正しい?

4 つの eclipse プロジェクトが 4 つの水銀プロジェクトを強制するかどうかは不明です。 mercurialeclipseプラグインがサポートしている場合は、1 つの hg プロジェクト (「トップ」) にすることができます。しかし、私は長所と短所がよくわかりません。Team->Commit は他の Eclipse プロジェクトに影響を与える可能性があります -- Eclipse ユーザーにとってそれは間違っているように思えますか?

  • では、4 つまたは 1 つの hg プロジェクトですか?

日食前、私は通常、サブプロジェクトを構築するトップレベルの build.xml を持っています。Eclipse ビルドには必要ない場合でも、完全なコマンドライン ビルドをサポートしたいと考えています。

  • 最上位の build.xml はどこに行くのでしょうか?

また、コードを実際にワークスペース/ディレクトリの下に置くかどうかの間には、いくつかのニュアンスがあると思います。これが私のレイアウトにとって何を意味するのか、誰か説明できますか?

どうもありがとう!

tlc

4

1 に答える 1

0

私はこの種のことを CVS でやったことがありますが、Mercurial ではどうすればよいかわかりません。(私もMercurialに切り替えようとしています)

あなたの質問の一部に答えることができます。

CVS では、/top/ 用に 1 つの Eclipse プロジェクトを作成し、そこにさまざまなモジュールをサブディレクトリとしてプルします。MercurialEclipse がサブリポジトリをサポートしているかどうかはわかりませんが、それが私の最初の選択です (1 つの Eclipse プロジェクト、サブリポジトリをプルします)。

/app1 と /app2 の間に多くの依存関係がある場合は、各 ant スクリプトが build-common を参照しても問題ないと思います。もう 1 つのオプションは、build.xml を /app1、/app2 に配置し、マスター build.xml を /build-common に配置して、/app1 と /app2 を呼び出し、最後にすべてをラップすることです。

Ant スクリプトを使用する場合は、Eclipse クラスパスも手動で管理する必要があります。私の経験ではそれほど難しいことではありません。クラスパスが Eclipse でセットアップされている場合、自動ビルドは機能します。

私はこの構造を好むでしょう:

/top/
/top/build.xml (references /app1/build.xml, /app2/build.xml)
/lib1
/app1/
/app1/build.xml (references ../lib1)
/app2
/app2/build.xml  (references ../lib1)

最大の問題は MercurialEclipse とサブリポジトリです。ただし、サブリポジトリがサポートされていない場合は、追いつくまでコマンドラインから Hg を使用してください。

于 2012-04-24T17:45:12.897 に答える