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