Mootoolsをコマンドラインを使用してビルドする方法
Category: review
Mootoolsのビルドツールにkamicaneの作成したpackagerというビルドライブラリがあります。
このライブラリはphpで書かれていて、packager-webでも使用されているとても便利なライブラリです。
このライブラリを使用すると簡単なコマンドでMootoolsをビルドすることができます。
今回はこのライブラリを使用してMootoolsをビルドする方法を解説します。
まず下記から必要なものをダウンロードします。
必要なものリスト
- packagerライブラリ
https://github.com/kamicane/packager - Mootools Coreのソース
https://github.com/mootools/mootools-more - Mootools Moreのソース
https://github.com/mootools/mootools-core
packagerとMootoolsソースの配置
ダウンロードが完了したら、packagerを展開します。
展開したら適当なディレクトリにコピーします。
ここでは、C:\var\www\toolsにコピーすることにします。
次にcomponentsというディレクトリをpackagerディレクトリ内に作成します。
作成できたら、Mootoolsのソースを展開してこのディレクトリにコピーします。
ここではCoreをmootools-coreへ、Moreをmootools-moreにコピーすることにします。
ディレクトリの構造は下記のような形になります。
- packager
- components
- mootools-core
- Source
- Docs
- …
- mootools-more
- Source
- Docs
- …
- mootools-core
- help
- helpers
- libs
- components
Windowsユーザーの人
Windowsでpackagerを利用する場合は、packagerを少し修正する必要があります。
packager内のソースコードpackager(拡張子なし)をテキストエディタで開き下記のコードを追加してください。(15行目付近)
$home = exec('echo $HOME');
if ($home == '$HOME') $home = array_get($_SERVER, 'USERPROFILE');
packagerのコマンド
packagerが配置できたので、packagerの説明に入ります。
packagerでは下記のコマンドが使用できます。
コマンド一覧
- register – パッケージを登録します。
- unregister – パッケージの登録を解除します。
- list – 登録されているパッケージの一覧を表示します。
- build – パッケージの依存関係を解決した上で、コンポーネントを一つのファイルに出力します。
registerコマンド
registerコマンド利用するとパッケージを登録することができます。
登録されたパッケージは依存関係を解決する際に利用されます。
試しに下記のコマンドを利用してMootools CoreとMoreを登録してみます。
コマンドラインでpackagerディレクトリまで移動します。
cd C:\var\www\tools\packager php packager register C:/var/www/tools/packager/components/mootools-core the package Core has been registered as C:\var\www\tools\packager\components/mootools-core/package.yml php packager register C:/var/www/tools/packager/components/mootools-more the package More has been registered as C:\var\www\tools\packager\components/mootools-more/package.yml
listコマンドで確認
registerコマンドの説明でパッケージを登録したので、無事登録されているか確認するためにlistコマンドを使って登録されているリストを表示してみます。
無事登録されていれば、登録されたMootoore CoreとMoreが表示されるはずです。
php packager list Core: C:\var\www\tools\packager\components/mootools-core\package.yml More: C:\var\www\tools\packager\components/mootools-more\package.yml
無事表示されれば登録はされています。
buildコマンドでMootoolsをビルド
buildコマンドを利用すると、パッケージをビルドすることができます。
試しに、Core/Request、Core/Request.HTMLをビルドしてみます。
php packager build +components Core/Request Core/Request.HTML > mootools.js Build using: Core, More Included Files/Components: - Core/Core: [Core, MooTools, Type, typeOf, instanceOf, Native] - Core/Object: [Object, Hash] - Core/Array: [Array] - Core/Function: [Function] - Core/Number: [Number] - Core/String: [String] - Core/Browser: [Browser, Window, Document] - Core/Slick.Parser: [Slick.Parser] - Core/Slick.Finder: [Slick.Finder] - Core/Element: [Element, Elements, $, $$, Iframe, Selectors] - Core/Class: [Class] - Core/Class.Extras: [Class.Extras, Chain, Events, Options] - Core/Request: [Request] - Core/Request.HTML: [Request.HTML]
実行するとビルドに使用したパッケージと組み込まれたコンポーネントのリストが表示されます。
このように指定したコンポーネントの依存関係も解決してくれます。
次のような方法でも同様です。
php packager build +files Core/Request Core/Request.HTML ART/ART > mootools.js
又、下記のように省略して実行することもできます。
php packager build Core/Request Core/Request.HTML > mootools.js
ワイルドカード
まるまるパッケージをビルドしたい場合は下記のようにワイルドカードを利用します。
下記の例ではARTパッケージをすべてビルドします。
php packager build ART/* > mootools-with-art.js
パッケージの追加
時には登録していてないパッケージも一緒にビルドしたい場合もあるでしょう。
そんな時は+packagesオプションを使用します。
下記の例では3rdpartyパッケージを追加でビルドするよう指定しています。
php packager build 3rdparty/Request.Iddy +packages C:\var\www\tools\packager\components\3rdparty > mootools.js
パッケージの除外
パッケージの追加だけでなく、逆にビルド時に特定のパッケージを除外することもできます。
下記の例では、ビルドに時にCoreパッケージのコンポーネントをすべて除外します。
php packager build 3rdparty/Request.Iddy -packages Core > mootools.js
パッケージの指定
パッケージのビルド時に追加/除外以外に特定のパッケージのみ指定することも可能です。
下記の例ではARTパッケージのコンポーネント以外はビルドしません。
php packager build ART/ART ART/Base +use-only ART
又、次のようなこともできます。
下記の例では、+packagesで指定したコンポネート以外はビルドしません。
php packager build 3rdparty/Request.Iddy +use-only +packages C:\var\www\tools\packager\components\3rdparty
ブロックの除外
コンポーネント内に//<ブロック名>のような書式のブロックがある場合、ビルド時に-blocksオプションを利用することで、指定したブロックで囲まれる範囲のソースコードを除外することができます。
下記の例ではMootools1.2の互換コードをビルド時にソースコードから除外し、ピュアなMootools 1.3バージョンをビルドします。
php packager build Core/Request Core/Request.HTML -blocks 1.2compat
packagerを利用すると、自分で作成したパッケージや、他のユーザーが作成したパッケージを一緒にMootoolsに組みこんでビルドしたり、特定のパッケージのみ指定した条件でビルドできるので非常に便利であることが分かると思います。
以上で、ビルドの方法の解説は終了です。
Related Post:
It is a list of related articles.
Trackback:
It is a comment that has been gotten before.
トラックバックを下記のURLに送ってください。
http://sharedhat.com/review/1588/trackback/




Reply:
Please give the comment to this article.