scala - SBT:如何在 Sonatype 上发布聚合项目和所有模块?

标签 scala sbt sbt-assembly

我有一个 SBT 项目,我将其发布到 Sonatype 时没有出现任何问题,并将其转换为多模块 SBT 项目。现在我想要:

  • 将包含所有聚合子模块的 jar/javadoc/sources/pom 文件发布到 Sonatype (这意味着它们应该使用 sbt-pgp 插件进行签名)

  • 将每个单独的子模块也发布到 Sonatype

我尝试使用 sbt assembly plugin为此,但没能走得太远。您是否有一个示例 Build.scala 文件来显示实现此目的的最佳结构?

最佳答案

我不知道当前可用的插件是否可行,但使用 ScopeFilter ,您也许能够创建一个聚合所有源的人工项目,从那里只需调用 publishSigned 即可。

看看我如何在 sbt-unidoc 中聚合源代码.

这是概念证明:https://github.com/eed3si9n/specs2/commit/18f6405c91cf995f621a84c65e05d66407ba4964

通过更改,我能够运行 packagedoc 等。如果您使用宏,您可能必须聚合 *.class

关于scala - SBT:如何在 Sonatype 上发布聚合项目和所有模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19625492/

相关文章:

scala - 需要帮助找出 Scala 编译器错误

scala - 是否可以提高akka调度器的准确性

java - 如何获得 "sbt universal:packageBin"的分解版本?

scala - 如何将程序集插件添加到SBT构建中?

scala - 要求用户最终调用一个方法

scala - 在 FakeRequest 中使用 MultipartFormData 进行框架测试

Sbt 插件,默认文件设置键

scala - 使用 SBT 创建新的 Scala 项目?

scala - Scalatra servlet 的独立部署

带有 sbt : Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory 的 Spring 启动