名前¶
Minilla - CPAN module authoring tool
Minilla - CPAN モジュールオーサリングツール
概要¶
minil new - Create a new dist
minil test - Run test cases
minil dist - Make your dist tarball
minil install - Install your dist
minil release - Release your dist to CPAN
minil run - Run arbitrary commands against build dir
minil new - 新しいディストリビューションを作る
minil test - テストケースを実行する
minil dist - 配布用のtar玉を作る
minil install - ディストリビューションをインストールする
minil release - ディストリビューションをCPANにリリースする
minil run - ビルドディレクトリに対して任意のコマンドを実行する
説明¶
Minilla is a CPAN module authoring tool. Minilla provides minil command for authorizing a CPAN distribution.
Minilla は CPANモジュールのオーサリングツールです。Minillaは CPANディストリビューションのオーサリングのために、minilコマンドを用意します。
(M::I - inc) + shipit + (dzil - plugins)
THIS IS A DEVELOPMENT RELEASE. API MAY CHANGE WITHOUT NOTICE.
これは、開発版リリースです。APIは予告なしに変更されるかもしれません
動機¶
慣習¶
As stated above, Minilla is opinionated. Minilla has a bold assumption and convention like the followings, which are almost compatible to the sister project Dist::Milla.
以上のように、Minilla は独断的です。Minillaには以下のような大胆な仮説と慣習があります。これらは姉妹プロジェクトのDist::Millaとほとんど互換性があります。
- Your module written in Pure Perl are located in lib/.
- Your executable file is in script/ directory, if any
- Your module is maintained with Git and
git ls-files
matches with what you will release - Your module has a static list of prerequisites that can be described in cpanfile
- Your module has a Changes file
- lib/以下にPure Perl でモジュールが書かれている
- 実行ファイルはなんであれ、script/ディレクトリ以下にある
- モジュールは Git でメンテナンスされており、
git ls-files
は、リリースするものにマッチする - モジュールは、cpanfileに予め必要なものの静的なリストがある
- モジュールには、Changes がある
始めましょう¶
# First time only
% cpanm Minilla
# Minilla has only a few deps. It should be very quick
# Make a new distribution
% minil new Dist-Name
% cd Dist-Name/
# Git commit
% git commit -m "initial commit"
# Hack your code!
% $EDITOR lib/Dist/Name.pm t/dist-name.t cpanfile
# Done? Test and release it!
% minil release
It's that easy.
このように、簡単です。
You already have distributions with Module::Install, Module::Build, Dist::Zilla or ShipIt? Migrating is also trivial. See "MIGRATING" in Minilla::Tutorial for more details.
Module::Install、Module::Build、Dist::Zilla、または、ShipItを使ったディストリビューションがすでにありますか? 移行もまた些細なことです。詳細は、Minilla::Tutorialの"MIGRATING"を見てください。
なぜ MINILLA?¶
Minillaで作成され、管理されたリポジトリは git インストールできます。¶
The repository created and managed by Minilla is git install ready. You can install the library by cpanm git://...
.
Minillaで作成され、管理されたリポジトリは git インストールできます。 cpanm git://...
で、インストールできます。
Of course, you can install Minilla from cpanm git://github.com/tokuhirom/Minilla.git
.
もちろん、Minilla を、 cpanm git://github.com/tokuhirom/Minilla.git
からインストールできます。
Minilla は小さなライブラリでできています。¶
Minilla is built on only few small libraries. You can install Minilla without a huge list of dependencies to heavy modules.
Minilla は、ほんの少しの小さなライブラリで作られています。重たいモジュールに依存する巨大なリストなしに、インストールすることができます。
Minillaって何?¶
Minilla is a Kaiju (Japanese giant monster) from the Godzilla series of films and is the first of several young Godzillas.
http://en.wikipedia.org/wiki/Minilla
ミニラは怪獣(日本の巨大なモンスター)で、ゴジラの一連の映画から取られました。最初の若いゴジラです。
http://en.wikipedia.org/wiki/Minilla
設定¶
Minilla uses Convention over Configuration.
Minilla は 設定より規約を用いています。
But, you can write configurations to minil.toml file in TOML format. Minilla reads the minil.toml file in the root directory of your project.
ですが、設定をminil.tomlファイルに TOMLフォーマットで書くことができます。Minilla は、プロジェクトのルートディレクトリにあるminil.tomlファイルを読みます。
- name
-
You can write 'name' instead of automatically detecting project name out of the directory name.
ディレクトリ名から自動的に調べられるプロジェクト名の代わりに、'name'を書くことができます。
- readme_from
-
readme_from="lib/My/Foo.pod"
You can specify the file to generate the README.md. This is a main module path by default.
README.md を生成するファイルを指定することができます。デフォルトではメインのモジュールのパスです。
- abstract_from
-
abstract_from="lib/My/Foo.pod"
Grab abstract information from the file contains pod.
アブストラクトの情報をpodが書かれているファイルから取り出します。
- authors_from
-
authors_from="lib/My/Foo.pod"
Grab authors information from the file contains pod.
著者の情報をpodが書かれているファイルから取り出します。
- authority
-
authority = "cpan:TOKUHIROM"
Set x_authority attribute to META. See http://jawnsy.wordpress.com/2011/02/20/what-is-x_authority/ for more details.
METAに x_authority 属性を設定します。 詳細は、http://jawnsy.wordpress.com/2011/02/20/what-is-x_authority/を見てください。
- allow_pureperl
-
allow_pureperl=1
A bool indicating the module is still functional without its XS parts. When an XS module is build with
--pureperl_only
, it will otherwise fail.XSの部分がなくても、モジュールが機能的であることを示す真偽値です。XSモジュールが
--pureperl_only
でビルドされる時に、真でなければ失敗します。It affects to Module::Build 0.4005+ only.
Module::Build 0.4005以上のバージョンでのみ有効です。
- no_github_issues
-
no_github_issues=true
Minilla sets bugtracker as github issues by default. But if you want to use RT, you can set this variable.
Minilla はデフォルトで github の issues をバグトラッカーとして設定します。RTを使いたければ、この値を設定することができます。
- no_index
-
[no_index] directory=['t', 'xt', 'tools']
Minilla sets META.json's no_index as
directory => ['t', 'xt', 'inc', 'share', 'eg', 'examples', 'author']
by default. But if you want to change them, you can set this section variable. If this section is set, specified variables are only used, in fact default settings are not merged.Minilla はデフォルトで META.jsonの no_index を
directory => ['t', 'xt', 'inc', 'share', 'eg', 'examples', 'author']
として 設定します。ですが、これらを変更したければ、このセクションの値をセットできます。このセクションが設定された場合、 指定された値のみが使われます。実際に、デフォルトの設定はマージされません。 - c_source
-
c_source = ['src']
A directory which contains C source files that the rest of the build may depend on. Any ".c" files in the directory will be compiled to object files. The directory will be added to the search path during the compilation and linking phases of any C or XS files.
残りのビルドが依存している C のソースファイルのあるディレクトリ。 ディレクトリにある、すべての ".c" ファイルはオブジェクトファイルにコンパイルされます。 ディレクトリは C や XS ファイルのコンパイルとリンクの間、サーチパスに加えれられます。
- script_files
-
script_files = ['bin/foo', 'script/*']
Minilla sets install script files as
['script/*', 'bin/*']
by default.Minilla はデフォルトで、インストールスクリプトファイルを
['script/*', 'bin/*']
とします。 - PL_files
-
Specify the PL files.
PL ファイルを指定します。
[PL_files] lib/Foo/Bar.pm.PL="lib/Foo/Bar.pm"
- build.build_class
-
Specify a custom Module::Build subclass.
カスタムの Module::Build サブクラスを指定します。
[build] build_class = builder::MyBuilder
- FileGatherer.exclude_match
-
[FileGatherer] exclude_match=['^author_tools/.*']
Nothing by default. To exclude certain files from being gathered into dist, use the
exclude_match
option. Files matching the patterns are not gathered.デフォルトにはありません。特定のファイルをディストリビューションから除外したければ、
exclude_match
オプションを使ってください。パターンにマッチしたファイルは除外されます。 - FileGatherer.include_dotfiles
-
[FileGatherer] include_dotfiles=false
By default, files will not be included in dist if they begin with a dot. This goes both for files and for directories.
デフォルトでは、ドットから始まるファイルは、ディストリビューションに含まれません。 この設定はファイルとディレクトリの両方に及びます。
In almost all cases, the default value (false) is correct.
ほとんどすべての場合、デフォルトの値(偽)が正しいです。
- release.pause_config
-
[release] pause_config="/path/to/some/.pause"
By setting this value to another PAUSE configuration file (see "CONFIGURATION" in cpan_upload for the details), it is possible to use another PAUSE server (or anything good enough to mimick its upload process) for the release step.
この値を別のPAUSE設定ファイル(詳細は次を参照 "CONFIGURATION" in cpan_upload)に設定することで、 リリースステップで別のPAUSEサーバ(か、PAUSEのアップロードプロセスに十分に似せた何か)を使えます。
To do so, simply add a
upload_uri
entry in your file to the alternate PAUSE server, i.e :そうするためには、
upload_uri
エントリを加えて、代替のPAUSEサーバにしてください。 例:upload_uri http://127.0.0.1:5000/pause/authenquery
Note that this feature is not officially documented in CPAN::Uploader.
この機能はCPAN::Uploaderには、公式に書かれていません。
FAQ¶
- Why don't you provide plug-in support?
-
(なぜ、plug-inをサポートしないのですか?)
If you want to pluggable thing, it's already exist dzil :P And if you like a behavior like Minilla, you can use Dist::Milla, the sister project of Minilla. Dist::Milla's behavior is mostly like Minilla.
プラガブルなものがほしければ、既に dzil があります :P Minillaのような振る舞いが好きならば、Dist::Millaを使うことができます。Minillaの姉妹プロジェクトです。 Dist::Millaの振る舞いはMinillaと大部分似ています。
- Why minil only supports git?
-
(なぜ、minil は git しかサポートしないのですか?)
I think git is a best VC for CPAN modules, for now.
今のところ、CPANモジュールにとってgitがベストなVCだと思うからです。
If you want to use another version control system, you can probably use Dist::Milla.
他のバージョンコントロールシステムを使いたければ、Dist::Millaを使うことができるでしょう。
- And why...
-
(では、なぜ...)
Yes. You can use Dist::Milla.
はい。Dist::Millaを使えます。
- Should I add (META.json|Build.PL) to repository?
-
((META.json|Build.PL)をリポジトリに加えるべきですか?)
Yes. You need to add it to make your git repo installable via cpanm.
はい。cpanm で git リポジトリからのインストールを可能にするために必要です。
- How do I manage ppport.h?
-
(ppport.h をどのように管理しますか?)
Is there a reason to remove ppport.h from repo?
ppport.h をリポジトリから消す理由がありますか?
- How can I install script files?
-
(スクリプトファイルをどうやってインストールできますか?)
Your executables must be in script/. It's Module::Build::Tiny's rule.
実行可能なものは script/ に入れてください。これは、Module::Build::Tinyのルールです。
- How to switch from Module::Install/Module::Build/Dist::Zilla?
-
(Module::Install/Module::Build/Dist::Zillaからどのようにスイッチしますか?)
You can use experimental `minil migrate` sub-command. See Minilla::CLI::Migrate for more details.
実験的な `minil migrate` サブコマンドを使えます。 詳細は、Minilla::CLI::Migrateを見てください。
作者¶
Tokuhiro Matsuno < [email protected] >
Tatsuhiko Miyagawa
THANKS TO¶
RJBS, the author of Dist::Zilla. Dist::Zilla points CPAN authorizing tool.
SEE ALSO¶
ライセンス¶
Copyright (C) Tokuhiro Matsuno
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.