构建自动化 - sbt:针对多个依赖项进行编译/测试

时间:2013-07-29 11:01:46

标签: scala maven build-automation sbt guava

我们刚刚发布了我们的库(Mango)的部分内容,它是围绕Google Guava Java公共库的Scala包装器。

图书馆目前依赖Google Gauva 14.0,但我们也希望增加对其他版本的支持。

Scala和Java项目的构建自动化工具sbt中是否有一种方法可以创建类似于配置文件的配置文件,其中每个配置文件针对相应的Guava依赖项的不同版本进行编译,因此我们可以包含它在连续积分测试矩阵中?

理想情况下,应该可以通过以下方式调用sbt:

sbt test guava:14.0
sbt test guava:13.0
...

1 个答案:

答案 0 :(得分:4)

您应该查看以下链接:Custom test configuration

我知道你不想做测试,但正如你所看到的,我们可以创建不同的SBT配置。 您可能能够获得以下灵感,并能够创建配置和任务,以便您可以运行:

  • guava13:编译
  • guava14:编译
  • guava13:测试
  • guava14:测试

您可以尝试添加依赖项,如下所示:

libraryDependencies += "com.google.guava" % "guava" % "13.0" % "guava13"
libraryDependencies += "com.google.guava" % "guava" % "14.0" % "guava14"

因此,依赖关系的范围限定为您使用的番石榴版本配置。

从未这样做过,不能确定:)

您还可以添加cross-build

顺便说一下好的图书馆理念。