1

相互に依存する多数の deb ファイルを管理するために ivy を使用しています。各 deb の ivy ファイルを生成し、必要に応じて依存関係を追加しています。パブリッシュを行おうとしていますが、最初に解決手順を実行する必要があります。

どのモジュールもまだ ivy リポジトリにないため、解決できません。これらはランタイムの依存関係であり、私はそれらを使用して、アイビー リポジトリから deb ファイルの構成を引き出すことができます。

ivy src に付属する「マルチプロジェクト」の例を試してみたところ、「サイズ」プロジェクトを公開しようとすると、同じように失敗することがわかりました。ant clean-allレポであるアーティファクト/メタデータをシミュレートする前に行いました。使用していることに気付きました<ivy:buildlist />http://ant.apache.org/ivy/history/latest-milestone/use/buildlist.html

これはうまくいかないようです。生成されたリストを使用してパブリッシュを順番に実行すると、同じ問題が発生します。

ビルドリストがその中にあるのと同じファイルセットを返すのはなぜですか?

    <target name="publish-shared" depends="" description="--> Publish project's artifacts to SHARED repository">
            <ivy:buildlist reference="ivy.dep.files">
                    <fileset dir="${ivy.build.dir}" includes="**/ivy.xml"/>
            </ivy:buildlist>
            <for param="ivy.dep.file" list="${toString:ivy.dep.files}" delimiter=":">
                    <sequential>
                            <antcall target="publish-shared-onemod" inheritAll="true" inheritRefs="true">
                                    <param name="ivy.dep.file" value="@{ivy.dep.file}" />
                            </antcall>
                    </sequential>
            </for>
    </target>
    <target name="publish-shared-onemod">
            <ivy:resolve />
            <ivy:publish resolver="shared" artifactspattern="${target.dir}/[artifact].[ext]" status="integration" />
    </target>

更新: ビルドリストを逆にする必要がありまし<ivy:buildlist reference="ivy.dep.files" reverse="true"> たが、非常に奇妙なのは、ルート モジュール (例: <ivy:buildlist reference="ivy.dep.files" root="${ivy.module.root}">) を指定したときに、逆にする必要がなかったことです。私は何か間違ったことをしているに違いありませんが、エラーが発生するまでは逆になります。

4

1 に答える 1