2011-06-30 13 views
7

IVY + msbuildをどのように組み合わせて使用​​するのが効果的でしたか?どのようにアイビーをMSbuildに統合するのですか

私たちの目標は、依存性の解決と公開のためにIVYをC#/ C++ビルドプロセスに統合することです。ビルドの始めと終わりにカスタムタスクに追加しようとしましたが、msbuild呼び出しをant + apache-ant-dotnetでラップしようとしました。

その他のオプションは、gradle、buildr、rakeのいずれかです。

何を使用しますか?

おかげ

ピーター

+0

まだMsBuildでIvyを使用していますか? – granadaCoder

+0

は存在しません。私はgradleを使ってオーケストレーションすることをお勧めします。それは、コード/イディオムをたどることが容易で、メイヴンパワー、アリ有用性の良い組み合わせのようです。 –

答えて

7

ほとんどの技術は、ローカルディレクトリで見つかったライブラリを使用することができます構築します。

java -jar ivy.jar -ivy ivy.xml -settings ivysettings.xml -retrieve "lib/[conf]/[artifact].[ext]" 

あなたの依存関係がivy.xmlと呼ばれる標準のツタファイルにリストされています。私は、ビルドの開始時に、これを埋めるためにcommand-line ivy programを使用してお勧めしたいです。あなたのリモートリポジトリのプロトコル、場所やレイアウトがivysettings.xml

に記載されている。このアプローチの利点は、(などのGradleへの切り替えではなく)既存のビルドツールを交換しようとしていないということです。 Ivyは専ら依存関係を管理することに専念しています。

+1

将来の読者のために。私がivyコマンドラインを見る方法は、それが「ダム」であるということです。いくつかのファイルをバージョンとパッケージ名でバイナリリポジトリにプッシュします。その後、 "package-name"を必要とする別のプロセスは、バイナリリポジトリからファイルを取得するために、ivyコマンドラインを使用します。また、私はNugetよりもIvyのバージョン命名規則を好んでいます。 "2.1+"は私にとって意味があります。 「最新のリビジョン」は私にとって意味があります。ちょうど1つの意見。この応答のUpvote。 – granadaCoder

0

私のチームは、2年ほど前からIvy for .NETを使用してきました。私はそれに自信を持って投票します。 スタンドアロンで使用してください。呼び出しをmsbuildタスクにラップします。 Antの統合を使用する必要はありません。

関連する問題