构建 Scala 项目
本指南涵盖的内容 #
有关语言版本和其他构建环境特定信息,请访问我们的参考页面
macOS 环境中不可用 Scala 构建。
本指南的其余部分介绍如何在 Travis CI 中配置 Scala 项目。如果您不熟悉 Travis CI,请先阅读我们的 教程 和 构建配置 指南。
概述 #
Travis CI 环境为 JVM 语言提供大量构建工具,包括 多个 JDK、Ant、Gradle、Maven 和 sbt。
指定 Scala 版本 #
要在构建中指定 Scala 版本
language: scala
scala:
- 2.9.3
- 2.10.6
- 2.11.11
- 2.12.2
在 Ubuntu Precise 上,要使用 Scala 2.12.X,需要通过将 jdk: oraclejdk8
添加到您的 .travis.yml
中来启用 Oracle JDK 8。
使用 sbt 的项目 #
如果您的项目在存储库根目录中具有 project
目录或 build.sbt
文件,则 Travis CI 将使用 sbt
来构建它。
感谢 paulp/sbt-extras,您的项目的 sbt 版本将被动态检测和使用。
sbt 依赖项管理 #
Travis CI 会在构建的 script
阶段运行测试之前自动下载 sbt
依赖项。
sbt 默认脚本命令 #
默认 script
命令为
sbt ++$TRAVIS_SCALA_VERSION test
运行您的测试套件。
要使用不同的 script
命令,请自定义 构建步骤。
自定义 sbt 参数 #
您可以通过向 sbt
传递额外参数来覆盖 sbt 和 JVM 选项。
例如,要使用不同的 JVM 参数运行 compile
和 test
script:
- sbt -jvm-opts travis/jvmopts.compile ... compile
- sbt -jvm-opts travis/jvmopts.test ... test
您还可以使用 .travis.yml
中的 sbt_args
键指定要传递给默认构建脚本的 额外参数。
例如
sbt_args: -no-colors -J-Xss2m
将生成
script: sbt -no-colors -J-Xss2m ++$TRAVIS_SCALA_VERSION test
使用 Gradle、Maven 或 Ant 的项目 #
如果您的项目未配置为 sbt,则构建过程的行为类似于典型的 Java 项目。
针对多个 JDK 进行测试 #
与任何 JVM 语言一样,也可以 针对多个 JDK 进行测试。
使用 Java 10 及更高版本 #
有关使用 OpenJDK 和 OracleJDK 10 及更高版本的测试,请参阅 Java 文档。
环境变量 #
作业正在使用的 Scala 版本可作为
TRAVIS_SCALA_VERSION
构建配置参考 #
您可以在我们的 Travis CI 构建配置参考 中找到有关 Scala 的构建配置格式的更多信息。
示例 #
- twitter/scalding
- twitter/summingbird
- novus/salat
- scalaz/scalaz
- spray/spray(使用自定义
.jvmopts
覆盖 Travis CI 默认值)