使用Gradle';s";“仅工件符号”;使用自定义工件名称

使用Gradle';s";“仅工件符号”;使用自定义工件名称,gradle,ivy,Gradle,Ivy,我想使用下载一个文件名与模块名完全不同的工件。我的常春藤人工制品模式配置为: ivy { artifactPattern 'http://host/[organization]/[module]/[revision]/[artifact]-[revision].[ext]' } 然而,“仅工件符号”似乎只支持: 组(映射到[组织]) name(映射到[模块]) 版本(映射到[修订版]) ext(映射到[exp])和 分类器(映射到[分类器],此处不使用) URL的[artifact

我想使用下载一个文件名与模块名完全不同的工件。我的常春藤人工制品模式配置为:

ivy {
    artifactPattern 'http://host/[organization]/[module]/[revision]/[artifact]-[revision].[ext]'
}
然而,“仅工件符号”似乎只支持:

  • (映射到
    [组织]
  • name
    (映射到
    [模块]
  • 版本
    (映射到
    [修订版]
  • ext
    (映射到
    [exp]
    )和
  • 分类器
    (映射到
    [分类器]
    ,此处不使用)
URL的
[artifact]
部分似乎总是被
名称
替换

有没有办法在Gradle中显式设置URL中替换的
[工件]
?在普通的IvyXML中,我可以通过在
dependency
标记中指定一个带有
name
attibute集的


我的问题有点与模块名有关,只是我没有服务器端的
ivy.xml
文件,我不能使用这个技巧来滥用
分类器,因为我的工件名不仅仅在后缀上与模块名不同。

证明正确的语法可以指定对名称为的工件的依赖关系不同于它的模块名是作为的一部分给出的。要将上面URL中的
[artifact]
替换为
[module]
以外的内容,请声明依赖项,如下所示:

compile ('group-or-org-name:module-name:module-version') {
    artifact {
        name = 'artifact-name-different-from-module-name'
        type = 'type-must-not-be-null'
    }
}
编辑:以下是该功能的官方文档,作为本节的一部分