构建 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 是基于 NQPMoarVM 后端的 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 的构建配置格式的更多信息。