[symfony] プラグインを簡単に作るためのプラグインsfTaskExtraPlugin

symfonyのプラグインはPEARのパッケージシステムを使っているのですけど、PEARのパッケージングって結構面倒で、僕はあまり好きではありません。PEARにもパッケージを作るためのツールがあるのですが、PHPのスクリプトを書くことになります。

symfony1.2には、symfonyのパッケージを作ることに特化したタスクがsfTaskExtraPluginという名前で提供されています

まだalpha版なので、alphaを明に指定してインストールします


$ symfony plugin:install -s alpha sfTaskExtraPlugin

このプラグインの中のパッケージ作成コマンドを呼ぶと、plugins/ディレクトリの下にある特定のプラグインを、PEARパッケージにしてそこに作ってくれます。


$ symfony plugin:package sfFaqPlugin

これだけで、plugins/sfFaqPlugin/sfFaqPlugin-1.1.0.tgz ができます。(プラグイン名やバージョン番号はサンプル)

プラグインになっていれば、symfonyコマンドでinstall/uninstallを管理できます。


$ symfony plugin:install /sandbox12/plugins/sfFaqPlugin/sfFaqPlugin-1.1.0.tgz

そこにあるpackage.xmlを使ってパッキングしてくれるので、xmlを開いて適度に編集することでバージョンや含むファイルを変えることができます。package.xmlが無い場合は、対話形式でpluginの説明や開発者の名前などが尋ねられるので、順番に入れていくとpackage.xmlも作成してくれます。

なので、たとえば、symfony1.0でしか動かないとpackage.xmlに書いてあるせい「だけで」symfony1.2にインストールできないpluginがあったとしたら、それをtarでplugins以下に展開して、package.xmlのrequire versionだけ1.3未満までオッケーにし、このタスクでパックすれば、1.2対応のpluginができるということです。

もしそういう風に1.2非対応のプラグインを1.2で使って、実績もあるなら、前のエントリで書いたように開発者になって公式サイトにアップするのもいいでしょう。

sfTaskExtraPluginには他に、pluginsの下に一からプラグインを作るためのgenerate:plugin、pluginの中にmoduleを追加するgenerate:plugin-moduleがあります。これらで生成したスケルトンには、テストコードの枠組みも最初からついてきます。

「[symfony] プラグインを簡単に作るためのプラグインsfTaskExtraPlugin」への1件のフィードバック

コメントは停止中です。