1

私はこれについて数時間夢中になっていて、公開されたjarのパターンを指定する方法に関するリソースを見つけることができません(これらは私のローカルリポジトリに公開されています.

別の Ant タスクによって作成されたビルド ディレクトリにpeacock-lib-1.0.jarというファイルがあります。publish ant タスクを実行すると、ivy はファイルを見つけて、それを見つけようとしているローカル ディレクトリにコピーします。ただし、宛先ファイルの名前はpeacock-lib.jarに変更されます。

明らかに設定が少し欠けているだけですが、何がわかりません。

これは私のivy.xmlです:

<ivy-module version="2.0">
  <info organisation="myorg" module="peacock-lib" />

  <publications>
    <artifact name="peacock-lib" type="jar"/>
  </publications>

  <dependencies>
...
  </dependencies>

</ivy-module>

そして私の蟻の仕事:

  <target name="publish-local" description="--> Publish Local">
    <property name="ivy.organisation" value="myorg" />
    <property name="ivy.module" value="peacock-lib" />
    <property name="ivy.revision" value="${peacockLibVer}" />
    <ivy:publish resolver="local" pubrevision="${peacockLibVer}" status="release" update="true" overwrite="true">
      <artifacts pattern="dist/lib/[module]-[revision].[ext]" />
    </ivy:publish>
  </target>

どんな助けでも大歓迎です。

よろしく

シダ

4

1 に答える 1

2

上記の Ian に、追加の構成が何であるかについての指針を提供してくれてありがとう。

これを解決するために、jar 内の ivysettings.xml を確認しました。ivysettings-local.xml で、オーバーライドしたい命名法を引き起こしている原因がわかったので、それらの値のみに影響する独自の ivysettings.xml を生成しました (元の ivysettings.xml を置き換えていないことに注意してください)。

<ivysettings>
  <include url="${ivy.default.settings.dir}/ivysettings.xml"/>
  <property name="ivy.local.default.ivy.pattern"      value="[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" override="true"/>
  <property name="ivy.local.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" override="true"/>
  <resolvers>
    <filesystem name="local">
      <ivy pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" />
      <artifact pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}" />
    </filesystem>
  </resolvers>
</ivysettings>
于 2013-11-13T10:18:56.850 に答える