简介
Module-Starter 项目中包含多个模块,他们协同工作完成创建项目骨架的任务。
在这个项目中包含的模块如下:
- Module::Starter
- Module::Starter::App
- Module::Starter::BuilderSet -
- Module::Starter::Plugin::Template
- Module::Starter::Simple
module-starter 是Module::Starter的命令行接口,我们调用 module-starter 命令来生成一个项目骨架时,其实是在运行Module::Starter::App模块中的代码。当然Module::Starter::App模块会调用其他模块(Module::Starter,Module::Starter::BuilderSet,Module::Starter::Plugin::Template,Module::Starter::Simple)来协同工作完成任务。
如果没有提供项目的目录名称,则将使用项目名。如果没有提供项目名称,则将使用第一个列出的模块名称作为项目名称。
还可以提供多个--builder选项来生成多个构建器文件。
module-starter 命令
常用参数选项
--module=module 项目的主模块名 (required, repeatable)
--distro=name 项目名 (optional)
--dir=dirname 新的项目会放到哪个目录中 (optional)
--builder=module 使用哪个模块进行构建,可用的值有: 'ExtUtils::MakeMaker' 和 'Module::Build'
--eumm 和 --builder=ExtUtils::MakeMaker 的功能相同
--mb 和 --builder=Module::Build 的功能相同
--mi 和 --builder=Module::Install 的功能相同
--author=name 作者是名字 (taken from getpwuid if not provided)
--email=email 作者的电子邮件 (taken from EMAIL if not provided)
--ignores=type 需要忽略的文件类型 (repeatable)
--license=type 开源许可证
(default is artistic2)
--minperl=ver 支持的最小的Perl版本 (optional default is 5.006)
--fatalize 生成warnings代码,指定所有警告都会引发致命错误(use warnings FATAL => 'all')
--verbose 打印详细的工作日志
--force 强制执行,覆盖已经存在的文件和文件夹
--help 显示帮助信息
所有可用的开源许可证如下
perl, artistic, artistic2, mit, mozilla, mozilla2, bsd, freebsd, cc0,
gpl, lgpl, gpl3, lgpl3, agpl3, apache, qpl
所有可用的“忽略”类型如下
cvs, git, hg, manifest, generic
注意: 如果manifest 包含在内,则MANIFEST文件不会被包含,而仅仅会包含MANIFEST.SKIP文件。
下面是一些例子:
module-starter --module=Foo::Bar,Foo::Bat --author="yy" --email=aa@xx.com
## 指定ignores和开源许可
module-starter --module=Foo::Bar,Foo::Bat --author="yy" --email=aa@xx.com --ignores=git --license=mit
其他参数选项
还有两个不常用的参数选项,--class 和 --plugin。
a