为多项目中的子项目指定不同版本的sbt?

アレッ*_*ックス 6 scala sbt

我有一个包含几个子项目的多项目.

根项目project/build.properties包含

sbt.version=0.13.0
Run Code Online (Sandbox Code Playgroud)

事实证明,0.12.4由于依赖性问题,其中一个子项目仅适用于该版本.

build.properties将该版本放入其目录中,但它没有更改此项目的sbt版本.

我该怎么做呢?有可能吗?

jsu*_*eth 3

目前,sbt 允许同一构建中的项目之间存在深度任务级依赖关系。因此,虽然每个项目都有自己的目录,但它们为其构建共享一个类加载器,其中包含所有定义。

这会限制您不能让构建共享不兼容的版本。

将来可能会删除此限制,但现在我会执行以下操作之一:

  1. 只需继续使用 sbt 0.12.4 进行构建
  2. 将项目之间的所有通信迁移到通过 Ivy 进行。有 2 个带有包装器脚本的构建,该脚本以正确的顺序运行它们。