0

嗨,我想创建一个空项目(没有源代码),它使用我的 jar helloWorldPlugin并使用 ivy 描述符进行操作,所以我在一个空的项目目录中创建了 build.gradle,内容如下:

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文件中的components.java中写入,那么只有标签和其他标签,如依赖项、conf为空。为什么?

3.如何让Gradle在ivy描述符中写入所有java插件配置?

4

1 回答 1

1

这里有点晚了,但我相信这可能缺少 myPublication 中的配置部分。例如

configurations {
    unitTests { extend 'runtime' }
}

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

于 2013-10-23T10:11:15.453 回答