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