构建 Dart 项目

本指南涵盖内容 #

本指南涵盖了特定于 Dart 项目的构建环境和配置主题。请务必首先阅读我们的 教程通用构建配置 指南。

社区支持警告 #

Travis CI 对 Dart 的支持由社区贡献,可能会随时删除或更改。如果您遇到任何问题,请在 Travis CI 问题跟踪器 中报告,并抄送 @athomas@a14n

选择要测试的 Dart 版本 #

Travis CI 上的 Dart 工作程序会下载并安装 Dart SDK 存档。请参阅 Dart 下载存档 以获取可用存档的列表。默认情况下,将下载最新的稳定版 SDK 版本。要显式选择一个或多个版本,请使用 dart 键。例如

language: dart
dart:
# Install the latest stable release
- stable
# Install the latest beta release
- beta
# Install the latest dev release
- dev
# Install a specific stable release - 1.15.0
- "1.15.0"
# Install a specific dev release, using a partial download URL - 2.9.0-2.0.dev
- "dev/release/2.9.0-2.0.dev"
# Install a specific beta release, using a partial download URL - 2.9.0-2.0.beta
- "beta/release/2.9.0-2.0.beta"

运行测试 #

如果您的包依赖于 test,则默认情况下将运行 pub run test。这通常仅在 Dart VM 上运行测试,但您可以 配置它 以默认在其他平台上运行。

您还可以使用 .travis.yml 中的 dart_task 字段自定义 Travis 传递给测试运行器的参数。

language: dart
dart_task:
- test: --platform vm
- test: --platform chrome

可用的浏览器 #

Travis 在 Linux 上默认安装了 Firefox 和 Chrome,在 macOS 上默认安装了 Safari。但是,如果您想在 Dartium 上运行测试,则需要通过在顶层或特定任务中添加 install_dartium: true 来安装它。

language: dart
dart_task:
- test: --platform vm
- test: --platform dartium
  install_dartium: true

XVFB #

在 Linux 上,测试运行程序默认使用 XVFB,以便它可以使用需要显示的浏览器(如 Chrome)。但是,这可能会干扰某些应用程序,因此您可以通过在顶层或特定任务中设置 xvfb: false 来将其关闭。

language: dart
dart_task:
- test: --exclude-tags no-xvfb
- test: --tags no-xvfb
  xvfb: false

XVFB 从未使用在 macOS 上,因为它不使用 X 窗口系统。

其他任务 #

除了运行测试之外,还有其他几个任务可用。

分析器 #

要运行 Dart 分析器 以验证您的代码没有任何静态错误,请添加一个具有 dartanalyzer: true 的任务。默认情况下,它会分析存储库中的所有 Dart 文件,但您可以通过提供参数而不是 true 来配置它。

language: dart
dart_task:

# As long as you don't want any other configuration, you can just use the name
# of a task instead of "name: true".
- test

# Warnings are fatal, but we only analyze the lib/ directory.
- dartanalyzer: --fatal-warnings lib

格式化程序 #

要运行 Dart 格式化程序 以验证所有文件是否已正确格式化,请添加一个具有 dartfmt: true 的任务。如果您的包依赖于 dart_style 包,它将使用该包的格式化程序版本;否则,它将使用 Dart SDK 附带的 dartfmt

language: dart
dart_task:
- test: --platform vm
- test: --platform chrome
- dartfmt

环境变量 #

  • 作业正在使用的 Dart 版本可作为 TRAVIS_DART_VERSION 使用。
  • TRAVIS_DART_TEST 如果当前任务使用 test,则将为 true
  • TRAVIS_DART_ANALYZE 如果当前任务使用 dartanalyzer,则将为 true
  • TRAVIS_DART_FORMAT 如果当前任务使用 dartfmt,则将为 true

构建配置参考 #

您可以在我们的 Travis CI 构建配置参考 中找到有关 Dart 构建配置格式的更多信息。