scala - 构建自动化 - sbt : Compile/Test against multiple dependencies

标签 scala maven build-automation sbt guava

我们刚刚发布了部分库 (Mango),它是 Google Guava 的 Scala 包装器。 Java的通用库。

该库目前依赖于 Google Gauva 14.0,但我们也希望添加对其他版本的支持。

sbt有没有办法,一个用于 Scala 和 Java 项目的构建自动化工具,用于创建类似 maven 的配置文件,其中每个配置文件针对各自 Guava 依赖项的不同版本进行编译,因此我们可以将其包含在持续集成测试矩阵中?

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

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

最佳答案

你应该检查这个链接:Custom test configuration

我知道您不想进行测试,但正如您所见,我们可以创建不同的 SBT 配置。
您可能会从以下内容中获得灵感,并能够创建配置和任务以便您可以运行:

  • guava13:编译
  • guava14:编译
  • Guava 13:测试
  • Guava 14:测试

  • 您也许可以尝试添加依赖项,如下所示:
    libraryDependencies += "com.google.guava" % "guava" % "13.0" % "guava13"
    libraryDependencies += "com.google.guava" % "guava" % "14.0" % "guava14"
    

    因此,依赖关系的范围仅限于您使用的 guava 版本配置。

    从来没有这样做过,不能确定:)

    您也可以添加cross-build

    顺便说一句,图书馆的想法不错。

    关于scala - 构建自动化 - sbt : Compile/Test against multiple dependencies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17922339/

    相关文章:

    java - libGdx 和 Gradle 的 Scala 实例化错误

    list - Scala 对象不改变其内部状态

    java - Spark : timestamp changes when reading from written file

    java - Maven - 依赖于多模块聚合器项目

    php - Wordpress站点发布管理策略

    java - 在 Scala 中将 java 对象转换为 Object[]

    java - 带有spring的jsp中不显示图像

    java - PDF人群 'Missing artifact'

    apache-flex - 如何在IDE或构建脚本中对Flex应用程序进行单元测试?

    build-automation - 如何使用cmake包含目录的所有文件?