我有一个SBT项目,我发布到Sonatype没有任何问题,我将其转换为多模块SBT项目。现在我想:
将包含所有聚合子模块的jar / javadoc / sources / pom文件发布到Sonatype (意思是他们应该使用sbt-pgp插件签名)
将每个子模块也发布到Sonatype
我尝试使用sbt assembly plugin,但没有达到目的。你有一个示例Build.scala文件,它会显示完成此任务的最佳结构吗?
答案 0 :(得分:2)
我不知道目前可用的插件是否可行,但是使用ScopeFilter,您可以创建一个聚合所有来源的人工项目,从那里调用{{1}在那里。
了解我如何在sbt-unidoc汇总来源。
以下是概念验证:https://github.com/eed3si9n/specs2/commit/18f6405c91cf995f621a84c65e05d66407ba4964
通过更改,我可以运行publishSigned
,package
等。如果您使用宏,则可能必须汇总doc
。
答案 1 :(得分:0)
我使用Casbah的sbt汇编插件 - https://github.com/mongodb/casbah
Casbah有一个顶级聚合项目,但我还通过在构建中添加额外的工件来打包一个所有依赖jar:
addArtifact(Artifact("casbah-alldep", "pom", "jar"), assembly),
有关详细信息,请参阅构建文件:https://github.com/mongodb/casbah/blob/master/project/CasbahBuild.scala