发布OSS库release到jcenter和maven-central

Publishing OSS library release to jcenter and maven-central

我想发布我的 OSS 库,以便在 jcentermaven-central 存储库中可用。我有 2 个与此主题相关的问题:

  1. 我应该自己发布到两个存储库,还是它们之间有一些自动同步,所以只发布到其中一个就足够了?如果有同步,哪个是主要来源,哪个是镜像?

  2. 我想使用一些 gradle 插件从 gradle 自动执行发布。是否有任何一个插件能够与两个存储库一起使用?

  1. JCenter 是 Maven-Central 的超集,它会自动与发布到 Maven-Central 的包同步,因此基本上发布到 Maven-Central 的工件将自动同步并在 JCenter 中可用。
  2. Gradle 有两个插件支持发布到 several repositories types, including Maven-Central and JCenter: (1) A "legacy" maven plugin and (2) a new incubating maven-publish plugin

当然,您只需要发布到一个,另一个应该从那里获取。问题是 select?

虽然@amnon-shochot 的解决方案有效,但我建议更简单的解决方案:反之亦然,将 Bintray 作为主要分发平台。

发布到 Bintray 比发布到 Maven Central 容易得多,而且 Bintray 支持a very easy way to sync无论你发布到 Bintray 的 JCenter 到 Maven Central。

此外,大多数 Gradle 用户已经更喜欢 jcenter() 而不是 mavenCentral() 因为它更快、更可靠,gives you much more as a publisher and more secure

您可以使用 Bintray Gradle plugin 从 Gradle 发布到 Bintray,它支持指定应发布内容(配置、发布、文件集等)的方法的真实性


我与 JFrog, the company behind Bintray and [artifactory], see my profile 一起获取详细信息和链接。