0

コマンドラインから特定のパッケージのivyによって取得されているバージョンを解決する方法を誰かが知っているかどうか疑問に思っていましたか?

私は次のようなものを探しています

$ ant resolve com.internal.shared.pkg latest.release

次に、「1.1.18」などを返します

4

2 に答える 2

1

はいといいえ...

それは可能ですが、あなたの側で多くの肘のグリースが必要になります. そのための Ant<target>build.xmlファイルに書き込む必要があります。

ターゲットはインラインモード<ivy:resolve>でタスクを使用します。これは、organizationmodule、およびRevisionを指定すると、Ivy がダウンロードを試みることを意味します。

そこから、いくつかのオプションがあります。<ivy:report>レポートを生成する最も簡単な方法と思われるので、調べてみました。ただし、 経由でダウンロードして、ダウンロードした内容を確認する方が簡単<ivy:retrieve>な場合があります。

これが私の<ivy:resolve>見た目です:

<ivy:resolve
    inline="true"
    organisation="${my.org}"
    module="${my.module}"
    revision="${my.rev}"
    conf="master"
    resolveId="test.me"/>

次に、次の方法で呼び出します。

$ ant -Dmy.org=commmons-logging \
    -Dmy.module="commons-logging" \
    -Drev="latest.release" resolve.me

これを行うことにまだ興味がありますか?

于 2012-12-26T23:32:37.540 に答える
0

解決されたアーティファクト属性に基づいてプロパティを作成できるツタのタスクがあります。

<project name="demo" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">

    <target name="resolve">
        <ivy:artifactproperty name="[artifact].version" value="[revision]">
            <dependency org="commons-logging" name="commons-logging" rev="latest.integration"/>
        </ivy:artifactproperty>

        <echo message="Commons logging latest  = ${commons-logging.version}"/>
    </target>

</project>

コマンドラインからこれを行う便利な方法はありません。お役に立てれば。

ノート:

  • ivyのバージョン2.3は、解決後のタスクでネストされた依存関係タグをサポートします。
于 2012-12-27T01:16:36.877 に答える