Ant タスク ivy:publish がどのように機能するのか、私は完全に途方に暮れています。
jar ファイルの束を作成する通常のビルドを実行してから、それらの jar ファイルを (ローカル) リポジトリにプッシュすることを期待します。
ビルドされた jar をどこから取得するかを指定するにはどうすればよいですか? また、それらはどのようにリポジトリに格納されますか?
アップデート:
<target name="publish-local" description="--> Publish Local">
<ivy:retrieve />
<ivy:publish resolver="local" pubrevision="${release.version}" status="release" update="true" overwrite="true">
<artifacts pattern="${dist.dir}/[organisation]-[module].[ext]" />
</ivy:publish>
</target>
これは実際に機能します。以前は取得を含めていませんでした。
しかし、まだいくつかの問題があります。3 つの jar、openscada-utils.jar、openscada-utils-sources.jar、および openscada-utils-javadocs.jar を openscada-utils-0.9.2.jar、openscada-utils として公開したいとします。 -0.9.2-sources.jar および openscada-utils-0.9.2-javadocs.jar
実際の名前がどのように組み立てられ、どの名前を取得する必要があるかをどこで指定できるかは、私には完全には明らかではありません。(上記のフラグメントを使用すると、jar は常に utils.jar のみと呼ばれます)。
更新 1:
私はそれを(少し)動作させましたが、まだ気分が良くありません。どういうわけか、すべてのチュートリアルはサードパーティ プロジェクトからの依存関係に焦点を当てていますが、私にとって同様に重要なポイントは、プロジェクト固有の依存関係を処理することです。
さまざまな方法で互いに依存しているサブプロジェクトがたくさんあります。ivy:publish を考慮すると、開始方法が明確ではありません。
最初のバージョンをどのように処理しますか? すべてのサブ プロジェクトに共通のバージョン番号を付けて、それらが一緒に属していることを示します (0.9 としましょう)。したがって、最初のリビジョンは 0.9.0 である必要がありますが、これまでのところ、私のプロジェクトはリポジトリにありません。Ivy にこのリビジョン番号を割り当てるにはどうすればよいですか。
開発の過程で、これまでのリビジョン番号を変更せずに、ビルドされたファイルを再度公開したいと考えています。
作業が完了したら、それを共有リポジトリにプッシュしたい (そしてリビジョン番号を 0.9.0 から 0.9.1 に増やしたい) 場合、推奨される方法は何ですか?
実際のリリースでは、依存関係のあるディストリビューションとないディストリビューションを作成したいのですが、どういうわけか、そのために異なる構成を使用できると思います。どうすればそれを有利に利用できますか?