微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用“ Maven-发布” gradle插件进行Bintray Jfrog回购?

如何解决如何使用“ Maven-发布” gradle插件进行Bintray Jfrog回购?

我想将我的Maven工件发布到标准Maven信息库。为此,我选择的第一个示例是Bintray Jfrog。不幸的是,进展并不顺利。 我不得不添加两个技巧。

  1. 如果再次推送相同版本,则删除现有工件
  2. 在maven发布后删除一些损坏的版本

完整代码可在https://github.com/pPanda-beta/cassandra-java-driver-reactive-mapper/blob/4b1395db443facb188ed4aee120c6db7864908b7/cassandra-java-driver-reactive-mapper-reactor-core/build.gradle#L93-L122

中找到

上传的工件在https://bintray.com/ppanda-beta/maven/cassandra-java-driver-reactive-mapper-reactor-core

为什么要进行Maven发布?

这里的主要目标是将Maven工件保留为并非特定于任何提供者的标准规范。我想将一个仓库表示为{ url,username,password }。发布的方式不应基于回购提供者而改变。

请不要接受除'maven-publish'以外的任何其他插件,我不希望使用com.jfrog.bintraycom.jfrog.artifactory专门针对BRAYRAY JFROG的插件

当前解决方案有什么问题?

这很hacky。它并不比jfrog gradle插件好。该解决方案已经在使用自定义技巧,这些技巧对于其他Maven仓库无效。

为什么不完全切换到Jfrog?

这些工件的未来将驻留在更流行和标准的Maven回购协议中,例如:Maven Central,github maven回购协议,等等。因此,无论如何,我将在不久的将来离开jFrog。到那时,我想对gradle脚本进行标准化,使其可与任何Maven回购一起使用。这与docker容器注册表非常相似。无论是全局docker hub还是redhat cr或google cr,我们都使用相同的docker客户端。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。