0

我相信这可能与发布工件覆盖 Gradle 中的其他工件有关

如果我有一组出版物,例如

publishing {
  publications {
    serverpub(IvyPublication) {
      artifact(ejbJar) {
        name 'ejb' 
      }
    }
    clientpub(IvyPublication) {
      artifact(clientEjbJar) { 
        name 'client-ejb' 
      }
    }
    modulepub(IvyPublication) {
      artifact(moduleJar) {
        name 'cname-core'
      }
    }
    persistpub(IvyPublication) {
      artifact(persistenceJar) {
        name 'core-entities'
      }
    }
  }
}

在进行“发布”后

<Project Name>/ivy/<version>/ivy/ivy-<version>.xml

文件仅包含出版物列表中的第一项

<artifact name="ejb" type="jar" ext="jar"/>

如果我让所有的工件都属于一个出版物,即。serverpub 然后 ivy.xml 文件将包含所有正确的工件,但 jar 文件本身都是相同的,因此我与上一个链接有相同的错误。

我是不是做错了什么,因为到目前为止,Gradle 已经证明在括号中发布工件很痛苦。

4

1 回答 1

0

您已经声明了四个独立的发布,每个发布都将产生自己的模块描述符。要生成包含多个工件的 Ivy 模块,您必须将它们列在同一出版物下。关于“Jar 文件是相同的”问题,一个最小的独立的可重现示例会有所帮助。

请注意,ivy-publish您正在使用的新插件仍在孵化中,可能存在不足之处。我们非常感谢您的反馈,以使其变得更好。联系 Gradle 开发人员和专家的最佳地点是http://forums.gradle.org

于 2013-04-30T10:12:09.933 回答