1

現在、maven2 から buildr への移行を検討しており、ビルド スクリプトを DRY に保つ方法が心配です。

現在、maven プロジェクトは、すべての一般的なビルド コードを含む親 pom ファイルで定義されており、他の依存関係と同様に選択されます。

<parent>
    <groupId>com.companyname</groupid>
    <artifactId>parent</artifactId>
    <version>1.0.0</artifactId>
</parent>

今、buildr を見ていると、似たような概念を持っていることに気付きましたが、ビルドファイルを 1 レベル上に配置する必要があります。たとえば、次のようになります。

/svnrepo/buildfile
/svnrepo/ProjectA
/svnrepo/ProjectB

ただし、これらのプロジェクトは関連しておらず、完全に個別にチェックアウトおよびビルドされるため、これは問題です。だから私の質問は、この問題をどのように解決するのが最善ですか? 一度に 1 つのプロジェクトのみをチェックアウトしながら、共通のビルドファイルを参照するにはどうすればよいですか?

4

2 に答える 2

1

私はこの問題に対する答えを発見し、それがいかに簡単であるかについて自分自身を蹴っています: 宝石を作成します.

parent-pom.xml を parent.rb に置き換え、他のすべてのプロジェクトで必要になるように ruby​​ ファイルを gem として配布します。

于 2010-10-05T13:51:59.983 に答える
0

私はあなたが混乱していると思います:

一方では、プロジェクトは Maven と一緒にビルドされ、適切な場所でチェックアウトするか、svn:externals を使用する 4 つの異なるリポジトリがあります。それは悪い考えのように聞こえます。

一方、Buildr で同じことをしたいのですが、見栄えが悪いのではないかと心配ですか?

これらのプロジェクトを個別にビルドしてください。カスタム タスクのように、あるプロジェクトから別のプロジェクトに再利用できるコードがある場合は、ビルドファイルが必要とする ruby​​ ファイルを指す各プロジェクトで svn:externals を使用します。

于 2010-10-04T16:11:38.153 に答える