如何使用gradle API检查工件的存在?

时间:2015-07-23 09:12:54

标签: java groovy gradle ivy

我正在使用Gradle 2.4来部署在Grovvy和Java中开发的工件。我想在它出版之前检查一个工件的实际存在。一个应用是避免覆盖生产中的制品。另一个应用程序是发现用于发布集成测试版本的下一个次要版本。

我发布到IVY存储库,我的组件以组,名称,版本为特征。我想知道如何使用Gradle API来检查是否已经使用这些输入发布了工件。

谢谢, 卢瓦克。

1 个答案:

答案 0 :(得分:0)

我认为没有专门针对此的API,尽管可能会在未来某个时候添加到发布机制中。期望您通常使用存储库配置来指定您不希望允许覆盖。

至于确定下一个次要版本,您应该快速查看可用的Gradle版本插件,看看它们是否符合您的要求。我只是在网上搜索“gradle release plugin”。 Axion one似乎是最新的。

您可以在构建文件as demonstrated on the Gradle forums中对工件检查进行编码。一个有效但hacky解决方案是添加这样的东西:

uploadArchives {
  onlyIf {
    try {
      new URL("http://myrepo.com/${calculatedPathToWhereItWouldBePublished}").bytes
      false
    } catch (FileNotFoundException e) {
      true
    }
  }
}

更清洁的方法是将您的特定要求分解到您自己的插件中。