Bintray,合并具有公共组ID的包

时间:2017-02-02 09:51:06

标签: maven sbt bintray

我在一个组ID中有很多包。

我的主要群组ID是:com.github.kondaurovdev

我是小组: com.github.kondaurovdev.snippets com.github.kondaurovdev.akka_http ...

我不想在bintray中创建很多包,因为我必须等待批准将包链接到jcenter。

所以我找到了一个“解决方案”。 Bintray UI中有一个合并按钮,您可以选择具有相同组ID的所有包,并且具有一个包含许多子包的包。您只能链接此软件包一次,您的软件包可以使用JCenter repo下载。那很酷!

但我不想每次都合并。我想将我的子包发布到父包中。这可能吗?

我正在使用sbt-bintray上传工件,但它始终会创建新的包并上传内容。

1 个答案:

答案 0 :(得分:7)

决定是否应将某些artifact_id合并到单个包中的经验法则是:

  1. 项目是单个项目的子模块,
  2. 项目一起发布
  3. 让我举几个例子来说明我的意思。我将使用Spring Framework项目,这些项目是众所周知且多样化的。

    1. spring-contextspring-beans工件ID合并到同一个Bintray包中。它们是相关的(核心Spring DI项目的一部分)并且它们一起发布(例如4.3.6.RELEASE)。它们是同一个Bintray项目的一部分 - spring.framework
    2. spring-batch-core与Spring DI项目关系不大,所以尽管他们共享了组ID org.springframework,但他们在Bintray的不同包中。
    3. Spring Data的不同子项目当然是相关的,但它们有不同的发布版本和不同的发布时间表。例如,虽然Spring Data Commons是版本1.11.4,但Spring Data JPA是版本1.9.4。因此,虽然这些项目是相关的,但它们不可能在同一个包中,因为如果它们共享相同的包,那么当Data JPA达到1.11时,该版本将是只读的,因为Data Commons 1.11是很久以前就已经发布了。
    4. 我希望这是有道理的。

      现在,针对您的实际问题。我道歉你必须等待很长时间才能收到请求。如果您觉得时间过长,请随时与我联系(@jbaruch),我很乐意检查发生了什么。这样说,包含请求是一次性程序每个包。你多久推出一个新包装?

      正如我所提到的,你很可能会将工件ID合并到同一个包中(但请按照规则进行操作,如上所述)。在这种情况下,您可以在“build.sbt”publishTo设置中指定更广泛的包,如this example中所示。