检索空类型的依赖项

时间:2011-06-11 11:47:20

标签: ivy

我正在试图弄清楚如何在没有声明类型的工件的常春藤检索模式中省略[type]部分。我使用以下ant语句:

<ivy:retrieve pattern="${lib.dir}/[artifact](-[type]).[ext]" conf="compile" />

尽管有括号,但Ivy会生成像

这样的文件
  • 的junit-jar.jar
  • 的junit-javadoc.jar
  • 的junit-source.jar

后两个是预期的,但第一个应该是“junit.jar”。

结果与省略括号时相同。

修改

我到目前为止要解决的问题是:我在build.xml中有多个检索语句:

<ivy:retrieve pattern="${lib.dir}/[artifact]-[type].[ext]" type="source" /> <ivy:retrieve pattern="${lib.dir}/[artifact].[ext]" type="jar" />

(原始帖子中的“conf”属性与此主题无关​​。)

但是当有可选令牌的功能时,这看起来很傻。

1 个答案:

答案 0 :(得分:0)

类型默认为jar,不能省略。见Documentation 所以这个( - [类型])没有影响。

也许你可以在build.xml中做这样的事情(如果你控制ivy.xml)。

<ivy:retrieve pattern="${lib.dir}/[artifact].[ext]" conf="compile" />
<ivy:retrieve pattern="${lib.dir}/[artifact](-[type]).[ext]" conf="extras" />

你必须在编译配置中发布jar,在额外配置中发布其他jar。

或者只是在ivy.xml中命名其他的junit-javadoc和junit-source:

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0">
    <info organisation="junit"
        module="jnuit"
        revision="4.8.2"
        status="release"
        publication="20110531150115"
        default="true"
    />
    <configurations>
        <conf name="default" visibility="public"/>
    </configurations>
    <publications>
      <artifact name="junit"      type="jar" />
      <artifact name="junit-sources"      type="jar" />
      <artifact name="junit-javadoc"      type="jar" />
    </publications>
</ivy-module>