使用SBT管理自定义客户端构建

时间:2012-06-21 13:33:12

标签: scala sbt custom-build

我们有一个可通过模块扩展的应用程序。 (多项目)SBT构建产生易于部署的分发工件。

客户端的某些自定义部署确实需要特定模块作为构建的一部分(换句话说,另外一组依赖项)。我想知道创建这样的自定义构建的最佳方法是什么 - 换句话说,是否有一种方法可以扩展主构建并只添加这些依赖项?

现在我正在考虑以下方法:

  • 打包主要应用程序(如ZIP)&释放
  • 在自定义构建中,获取ZIP文件,提取它,神奇地添加其他JAR依赖项,并再次压缩工件(“神奇地”,因为我不知道如何访问构建中指定的所有JAR依赖项)

但也许有更优雅的方式?

1 个答案:

答案 0 :(得分:0)

我认为沿着依赖它的主要子项目宣布一个新的子项目会更容易。

lazy val extra: Project = Project("extra", file("extra")) dependsOn(mainProject) settings(Seq(...))

然后在该包上,您可以声明额外的依赖项。当你打包这个额外的项目时,一切都应该自动结束到包中。