簡(jiǎn)介
Module-Starter 項(xiàng)目中包含多個(gè)模塊,他們協(xié)同工作完成創(chuàng)建項(xiàng)目骨架的任務(wù)。
在這個(gè)項(xiàng)目中包含的模塊如下:
- Module::Starter
- Module::Starter::App
- Module::Starter::BuilderSet -
- Module::Starter::Plugin::Template
- Module::Starter::Simple
module-starter 是Module::Starter的命令行接口,我們調(diào)用 module-starter 命令來(lái)生成一個(gè)項(xiàng)目骨架時(shí),其實(shí)是在運(yùn)行Module::Starter::App模塊中的代碼。當(dāng)然Module::Starter::App模塊會(huì)調(diào)用其他模塊(Module::Starter,Module::Starter::BuilderSet,Module::Starter::Plugin::Template,Module::Starter::Simple)來(lái)協(xié)同工作完成任務(wù)。
如果沒(méi)有提供項(xiàng)目的目錄名稱,則將使用項(xiàng)目名。如果沒(méi)有提供項(xiàng)目名稱,則將使用第一個(gè)列出的模塊名稱作為項(xiàng)目名稱。
還可以提供多個(gè)--builder選項(xiàng)來(lái)生成多個(gè)構(gòu)建器文件。
module-starter 命令
常用參數(shù)選項(xiàng)
--module=module 項(xiàng)目的主模塊名 (required, repeatable)
--distro=name 項(xiàng)目名 (optional)
--dir=dirname 新的項(xiàng)目會(huì)放到哪個(gè)目錄中 (optional)
--builder=module 使用哪個(gè)模塊進(jìn)行構(gòu)建,可用的值有: '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 開(kāi)源許可證
(default is artistic2)
--minperl=ver 支持的最小的Perl版本 (optional default is 5.006)
--fatalize 生成warnings代碼,指定所有警告都會(huì)引發(fā)致命錯(cuò)誤(use warnings FATAL => 'all')
--verbose 打印詳細(xì)的工作日志
--force 強(qiáng)制執(zhí)行,覆蓋已經(jīng)存在的文件和文件夾
--help 顯示幫助信息
所有可用的開(kāi)源許可證如下
perl, artistic, artistic2, mit, mozilla, mozilla2, bsd, freebsd, cc0,
gpl, lgpl, gpl3, lgpl3, agpl3, apache, qpl
所有可用的“忽略”類型如下
cvs, git, hg, manifest, generic
注意: 如果manifest 包含在內(nèi),則MANIFEST文件不會(huì)被包含,而僅僅會(huì)包含MANIFEST.SKIP文件。
下面是一些例子:
module-starter --module=Foo::Bar,Foo::Bat --author="yy" --email=aa@xx.com
## 指定ignores和開(kāi)源許可
module-starter --module=Foo::Bar,Foo::Bat --author="yy" --email=aa@xx.com --ignores=git --license=mit
其他參數(shù)選項(xiàng)
還有兩個(gè)不常用的參數(shù)選項(xiàng),--class 和 --plugin。
a