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