构建 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 构建配置格式的更多信息。