【问题标题】:How are Ivy custom layouts interpreted by Gradle?Gradle 如何解释 Ivy 自定义布局?
【发布时间】:2018-06-25 06:33:42
【问题描述】:

我已经声明了一个自定义的 ivy 存储库布局:

repositories {
    ivy {
        url "https://myurl.com/root/"
        layout 'pattern', {
             artifact "[organisation]/[name]-[version].[ext]"
        }
    }
}

然后我声明一个依赖:

dependencies {
   compile 'mygroup:myartifact:0.1@zip'
}

但由于某种原因它不起作用,Gradle 没有找到依赖项,并且似乎看错了地方:https://myurl.com/root/mygroup/[name]-[version].zip

我也尝试过做一些花哨的事情,例如:

dependencies {
   compile module ('mygroup:myartifact:0.1@zip') {
      artifact {
         name = 'myartifact'
         ...
      }
   }
}

但它也不起作用。

如何正确定义布局模式,以便 Gradle 很好地解释它?

【问题讨论】:

    标签: gradle ivy


    【解决方案1】:

    当您使用 '<group>:<artifact>:<version>(@<ext>)' 指定依赖项时,Gradle 会将以下映射应用于模式:

    • <group> 替换 [organisation]
    • <artifact> 替换 [module]
    • <version> 替换 [revision]
    • <ext> 替换 [ext]

    所以在你的情况下,你的模式应该是这样的:

    artifact "[organisation]/[module]-[revision].[ext]"
    

    感谢@RaGe his answer

    【讨论】:

      猜你喜欢
      • 2013-09-25
      • 2019-05-05
      • 1970-01-01
      • 2012-06-30
      • 1970-01-01
      • 2014-04-22
      • 2015-12-03
      • 1970-01-01
      相关资源
      最近更新 更多