构建 Perl 6 项目
本指南涵盖的内容 #
本指南涵盖了特定于 Perl 6 项目的构建环境和配置主题。请务必先阅读我们的 教程 和 通用构建配置 指南。
macOS 环境中无法使用 Perl 6 构建。
社区支持警告 #
Travis CI 对 Perl 6 的支持由社区贡献,可能会随时删除或更改。如果您遇到任何问题,请在 Travis CI 问题跟踪器 中报告,并抄送 @paultcochrane @hoelzro @ugexe @tony-o 。
选择要测试的 Perl 6 版本 #
Travis CI 上的 Perl 6 工作器使用 rakudobrew 提供多个 Perl 6 版本,您的项目可以针对这些版本进行测试。要指定它们,请在您的 .travis.yml
文件中使用 perl6:
键,例如
language: perl6
perl6:
- latest
- '2017.05'
- '2017.04'
随着时间的推移,新的版本会发布,我们会升级 rakudobrew 和 Perl,类似 2017.05
的别名会浮动并指向不同的精确版本、补丁级别等。
对于 VM 上预安装的精确版本,请参阅构建日志中的“构建系统信息”。
Perl 6 栈 #
目前构建的 Perl 6 是基于 NQP 和 MoarVM 后端的 Rakudo 。未来计划支持 JVM 后端。
默认 Perl 6 版本 #
如果您从 .travis.yml
中省略 perl6
键,Travis CI 将从项目的 master
分支的最新提交构建 Rakudo Perl 6。
依赖项管理 #
目前没有自动依赖项管理 #
目前,默认情况下,Travis CI 不会自动管理项目的依赖项。可以通过在 install
步骤中下载和安装依赖项来自己管理依赖项,或者可以使用 zef(Perl 6 模块包管理器),如下所示
install:
- rakudobrew build-zef
- zef --debug --depsonly install .
这将安装最新的 zef
版本。
有关覆盖依赖项安装命令的更多信息,请参阅 通用构建配置 指南。
覆盖构建命令时,请勿使用 sudo #
覆盖 install:
键以调整依赖项安装命令时,请勿使用 sudo。Travis CI 环境通过 rakudobrew 在非特权用户 $HOME
目录中安装了 Perl 6 版本。使用 sudo 将导致依赖项安装在意外(对于 Travis CI Perl 6 构建器)的位置,并且它们将无法加载。
环境变量 #
作业正在使用的 Perl 6 版本可通过以下方式获得:
TRAVIS_PERL6_VERSION
示例 #
使用最新的 Rakudo 构建和测试 #
language: perl6
perl6:
- latest
install:
- rakudobrew build-zef
- zef --debug --depsonly install .
使用多个 Rakudo 版本构建和测试 #
language: perl6
perl6:
- '2017.05'
- '2017.04'
install:
- rakudobrew build-zef
- zef --debug --depsonly install .
使用最新的 Rakudo 构建和测试,但使用非标准的 lib 和测试目录 #
例如,使用 src/
作为模块库代码,使用 tests/
作为测试目录。请注意,标准做法是将模块库代码放在 lib/
下,将测试放在 t/
下。
language: perl6
script:
- PERL6LIB=src prove --ext .t --ext .t6 -v -r --exec=perl6 tests/
构建配置参考 #
您可以在我们的 Travis CI 构建配置参考 中找到有关 Perl6 的构建配置格式的更多信息。