使用Gradle ivy-publish插件生成ivy.xml

时间:2013-07-10 15:27:42

标签: gradle ivy

您好我想创建空项目(没有源代码),使用我的jar helloWorldPlugin 并使用常春藤描述符进行操作,因此我在一个空项目目录中创建了build.gradle,内容为:< / p>

apply plugin: 'java'
apply plugin: 'ivy-publish'

publishing {
   publications {
     myPublication(IvyPublication) {

     from components.java
   }
repositories {
   ivy {
       url "$project.rootDir/build/publish"
   }
  }
}

执行时

gradle publishmyPublicationPublicationToIvyRepository

我得到xml描述符

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0">
  <info organisation="org.moo" module="ivypublish" revision="9.0-m1-SNAPSHOT" status="integration" publication="20130710180056"/>
  <configurations>
    <conf name="default" visibility="public" extends="runtime"/>
    <conf name="runtime" visibility="public"/>
  </configurations>
  <publications>
    <artifact name="ivypublish" type="jar" ext="jar" conf="runtime"/>
  </publications>
  <dependencies>
    <dependency org="org.moo" name="helloWorldPlugin" rev="9.2-m1-SNAPSHOT" conf="runtime-&gt;default" revConstraint="latest.milestone"/>
  </dependencies>
</ivy-module>

1.但我没有像测试,编译等所有的java插件配置?

2.如果我不在xml文件中编写 from components.java ,则只有 标记和其他标记,例如 依赖项,conf 为空。为什么?

3.如何让Gradle在常春藤描述符中编写所有java插件配置?

1 个答案:

答案 0 :(得分:1)

这里有点晚了,但我相信这可能会错过myPublication中的配置部分。 e.g。

configurations {
    unitTests { extend 'runtime' }
}

然后是单元测试配置的关联工件和任务定义