EclipseプロジェクトをIvyと、オフィス内のWebサーバー上のアーティファクトとアイビーファイルを探すURLリゾルバで設定しました。すべてが美しく動作します。ローカルで解決するためにIvyを使用する方法
私は他のプロジェクトの依存関係であるプロジェクトがいくつかあります。これらの依存関係を「ローカルに公開」できるようにIvy設定を調整し、それに依存するダウンストリームプロジェクトがローカルで解決できるようにしたいと思います。そうすることで、開発者はあるプロジェクトで変更を加えることができ、それらの変更がそれに依存する別のプロジェクトで波及するのを見ることができます。すべて公式(ウェブサーバー)リポジトリに公開する必要はありません。
まず私は、下流のプロジェクトの依存関係であるプロジェクト(のはDepProj
それを呼びましょう)に公開 - ローカルタスクを追加しました:その後、私はDepProj
のいずれかのivy.xmlファイルを修正
<target name="publish-locally" depends="clean,dist">
<ivy:publish resolver="local" overwrite="true" pubrevision="${ivy.new.revision}">
<artifacts pattern="${distDir}/[artifact].[ext]" />
</ivy:publish>
</target>
川下のプロジェクト、DownstreamProj
:
<dependency org="ourOrg" name="DepProj" rev="latest.integration" conf="*->*"/>
私は今、2つの接続を窒息しています。ファイルシステムリゾルバを使うには、ivy.settings
ファイルを調整する必要があります。 DepProj
がローカルにパブリッシュされると、最初にclean
、次にdist
が実行されていることがわかります。 dist
ターゲットは、DepProj/dist/DepProj.jar
の下にJARを作成します。
私はファイルシステムリゾルバ(何らかの形で)をdist
というディレクトリに向ける必要があると思いますか?しかし、再びDepProj
は私がローカルで公開したい唯一のプロジェクトではありません。
私はここにパズルの大部分を持っています。私はちょうどいくつかのドットを接続するのに問題があります。
いくつかの種類のSOERは適切な方向に私を微調整できますか?有益なコード例は、常に非常に高く評価されています!ありがとう!
ありがとうございました! – IAmYourFaja
これはマルチプロジェクトビルドの例です.Ipyソースリポジトリにあります:https://svn.apache.org/repos/asf/ant/ivy/core/trunk/src/example/multi-project/ –