将多项目发布为单个根工件

时间:2017-04-02 22:13:02

标签: scala sbt

我有一个多项目的sbt构建。让我们称他们为a,b,c,彼此之间有一些依赖

我想发布一个包含a,b,c而不是3个不同工件的根工件。

我确实将个人build.sbt publishArtifact设置为false但我不知道如何让root发布大合并工件。

lazy val a = project
lazy val b = project.dependsOn(a)
lazy val c = project.dependsOn(b)

1 个答案:

答案 0 :(得分:0)

不一定是你想要的,但也许是:

lazy val c = project.settings(
  unmanagedSourceDirectories in Compile ++= (unmanagedSourceDirectories in (b,Compile)).value
  libraryDependencies ++= (libraryDependencies in b).value
)

并适用于其他项目:)

我认为使用sbt-assembly可能是更标准的选择。