Scala - SBT - sbt-native-packager - 保留`stage`目录的内容

时间:2016-06-22 17:18:44

标签: scala build sbt-native-packager

这是我之前提出的问题(答案)的后续问题:Scala SBT - sbt-native-packager, how to specify custom stage directory

当我更改stagingDirectory in Universal属性(例如stage-v1)并暂存项目时 - 它按预期工作。我可以在target/universal/stage-v1中看到我的项目。

然后我指定不同的登台目录(stage-v2)并暂存它。首先发生的是删除stage-v1文件夹的内容,然后在stage-v2中进行分段。

如何在不同的暂存目录中保留不同的阶段构建?

为了解决这个问题,我有一个构建时依赖项。它是计算库的后端,可以是CPU或GPU。我有不同的用例,所以我想随时保留2个版本。

谢谢,

安东

1 个答案:

答案 0 :(得分:0)

构建相同应用程序但使用不同配置的推荐方法是使用sbt子模块。这看起来像这样:

lazy val application = project
lazy val cpuApplication = project.settings(...).dependsOn(application)
lazy val gpuApplication = project.settings(...).dependsOn(application)

这样做的好处是,您可以非常轻松地配置每件事。您也可以非常明确地调用所有内容,例如gpuApplication:stage使用gpu应用程序。缺点是你的build.sbt增长了。