Perl-关于模块构建的-Dist::Zilla-使用

基本用法

命令行工具 dzil, 其在安装 Dist::Zilla 模块时会被默认安装, 可以扩展其参数.

运行这个命令似乎还需要安装 Params::Validate, Sub::Name, PerlIO::utf8_strict 模块.

可用 dzil commandsdzil help 来查看可用命令.

发布到 CPAN 用:

1
dzil release

配置

配置文件为 dist.ini

1
2
3
4
5
6
7
8
9
10
11
12
name    = Carbon-Dating
version = 0.003
author = Alan Smithee <asmithee@example.org>
license = Perl_5
copyright_holder = Alan Smithee

[@Basic]

[Prereqs]
App::Cmd = 0.013
Number::Nary = 0
Sub::Exporter = 0.981
  • name 用于指定 发行版名称.
  • version 用于指定 发行版版本
  • author 用于指定 发行版作者
  • license 用于指定 发行版证书
  • copyright_holder 用于指定 发行版版权

这几个参数也可以由其他 plugins 来指定.

带名称的 section (即包裹在 [] 之中的) 所满足的 rules 为:

  • 名称以 = 开头的, Dist::Zilla 会直接根据这个名称来查找模块, 而不会添加前缀之类的
  • 名称以 @ 开头的, Dist::Zilla 会根据这个名称 prepended with Dist::Zilla::PluginBundle:: 来查找模块
  • 不加 =@ 开头, 则会被添加 Dist::Zilla::Plugin:: 前缀来查找

什么是 PluginBundle

即很多个 Plugins 的集合, 如 Dist::Zilla::PluginBundle::Basic 就包含了:

  • Dist::Zilla::Plugin::GatherDir
  • Dist::Zilla::Plugin::PruneCruft
  • Dist::Zilla::Plugin::ManifestSkip
  • Dist::Zilla::Plugin::MetaYAML
  • Dist::Zilla::Plugin::License

等模块 (还有一些每列出)

关于 Dist::Zilla::Plugin::Prereqs 模块

其用于管理和指定发行版的依赖关系.

ABSTRACT 的作用

需要在模块顶部添加一行:

1
# ABSTRACT content

指定 Module::Build 安装或 ExtUtils::MakeMaker 安装

若指定 ExtUtils::MakeMaker, 则添加:

1
[MakeMaker]

若指定 Module::Build, 则添加:

1
[ModuleBuild]

Perl-关于模块构建的-Dist::Zilla-使用
http://example.com/2023/09/12/Perl-关于模块构建的-Dist-Zilla-使用/
作者
Jie
发布于
2023年9月12日
许可协议