我正在使用Gradle 2.4来部署在Grovvy和Java中开发的工件。我想在它出版之前检查一个工件的实际存在。一个应用是避免覆盖生产中的制品。另一个应用程序是发现用于发布集成测试版本的下一个次要版本。
我发布到IVY存储库,我的组件以组,名称,版本为特征。我想知道如何使用Gradle API来检查是否已经使用这些输入发布了工件。
谢谢, 卢瓦克。
答案 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
}
}
}
更清洁的方法是将您的特定要求分解到您自己的插件中。