Minilla-v0.6.4 > Minilla
Minilla-v0.6.4

名前

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::InstallModule::BuildDist::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 < tokuhirom@gmail.com >

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.