プラグインを書く¶
導入¶
プラグインはbzrのコア機能ととてもよく似ています。 これらはbzrlibから何でもインポートできます。 プラグインは標準機能を上書きすることもできますが、大抵プラグインは新しいコマンドを提供します。
新しいコマンドを作る¶
コマンドを書くには、
bzrlib.commands.Command
を継承する新しいオブジェクトを作り、 cmd_foo
と命名します。
fooはコマンドの名前です。
名前にアンダースコアが含まれるコマンドを作ると、UIではアンダースコアはハイフンとして表示されます。
たとえば、 cmd_baz_import は baz-import として表示されます。
コマンドの書き方の実例に関しては、 builtins.py
を参照して頂くようお願いします。
コマンドを作成したらファイルがインポートされるときに
bzrlib.commands.register_command(cmd_foo)
でコマンドを登録しなければなりません。
さもなければbzrはコマンドを見つけることはありません。
フックをインストールする¶
Using hooks を参照してください。
プラグインのバージョン番号を指定する¶
プラグインのバージョン番号を定義するにはタプルで version_info
を定義します。例:
version_info = (0, 9, 0)
version_info = (0, 9, 0, 'dev', 0)
プラグインの検索ルール¶
デフォルトではbzrはプラグインを見つけるために ~/.bazaar/plugins
と
bzrlib/plugins
をスキャンします。
BZR_PLUGIN_PATH
でこれを上書きできます。
(詳細は、
ユーザーリファレンス
を参照してください。)
プラグインはモジュールもしくはパッケージの形態をとることができます。
プラグインが単独のファイルであれば、構造をモジュールにできます。
プラグインが複数のファイルを持つ場合やbzrのブランチとして配布したい場合は、
構造をパッケージ、すなわち、ディレクトリの中に __init__.py
を含めます。
詳しい情報¶
他の人にも役立つと考えましたら、プラグインをBzrToolsにお気軽に寄付してください。
Bazaarの開発ガイドラインと方針の詳細に関しては Bazaar開発者ガイド を参照してください。