プラグインを書く

導入

プラグインはbzrのコア機能ととてもよく似ています。 これらはbzrlibから何でもインポートできます。 プラグインは標準機能を上書きすることもできますが、大抵プラグインは新しいコマンドを提供します。

新しいコマンドを作る

コマンドを書くには、 bzrlib.commands.Command を継承する新しいオブジェクトを作り、 cmd_foo と命名します。 fooはコマンドの名前です。 名前にアンダースコアが含まれるコマンドを作ると、UIではアンダースコアはハイフンとして表示されます。 たとえば、 cmd_baz_importbaz-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/pluginsbzrlib/plugins をスキャンします。 BZR_PLUGIN_PATH でこれを上書きできます。 (詳細は、 ユーザーリファレンス を参照してください。)

プラグインはモジュールもしくはパッケージの形態をとることができます。 プラグインが単独のファイルであれば、構造をモジュールにできます。 プラグインが複数のファイルを持つ場合やbzrのブランチとして配布したい場合は、 構造をパッケージ、すなわち、ディレクトリの中に __init__.py を含めます。

詳しい情報

他の人にも役立つと考えましたら、プラグインをBzrToolsにお気軽に寄付してください。

Bazaarの開発ガイドラインと方針の詳細に関しては Bazaar開発者ガイド を参照してください。