/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to doc/developers/plugin-development.txt

  • Committer: Jelmer Vernooij
  • Date: 2018-11-22 02:23:26 UTC
  • mto: This revision was merged to the branch mainline in revision 7209.
  • Revision ID: jelmer@jelmer.uk-20181122022326-hu77dzuqgc8ruzf4
Review comments.

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
By convention, most plugins are named brz-xxx and are installed into a
8
8
directory called xxx. Note that the directory name must be a legal
9
9
Python package name, so a plugin called brz-xxx-yyy need to be installed
10
 
into a directory called xxx_yyy, i.e. '-' in a plugin name gets mapped to
 
10
into a directory called xxx_yyy, i.e. '-' in a plugin name should be mapped to
11
11
an underscore in the directory name.
12
12
 
13
13
 
15
15
---------
16
16
 
17
17
We encourage plugin authors to make their plugins publicly available
18
 
under the same license as Breezy itself, namely GPL v2. However, there
 
18
under the same license as Breezy itself, namely GPL v2 or later. However, there
19
19
is no requirement to do so. You are free to create Breezy plugins for
20
20
private or internal use within your company and not distribute them.
21
21
 
25
25
sharing leads to a better plugin faster.
26
26
 
27
27
 
28
 
Registration
29
 
------------
30
 
 
31
 
If you decide to make your plugin available to others, you are welcome to
32
 
have it hosted on Launchpad and added to our plugins registry.
33
 
Non-experimental plugins that you or others in the community can support
34
 
may also be added to the Plugins Guide, i.e. inclusion in the Guide implies
35
 
a certain degree of *this works as advertised*.
36
 
 
37
 
To learn about Launchpad project registration, see
38
 
https://help.launchpad.net/Projects/Registering.
39
 
 
40
 
To add your plugin to the registry:
41
 
 
42
 
1. Fetch a copy of the lp:brz-alldocs project.
43
 
2. Edit plugin-registry.ini and commit the change.
44
 
3. Submit a merge proposal.
45
 
 
46
 
A Breezy developer will review your change and make some basic checks, e.g.
47
 
the one line summary (``purpose``) is clear and the branch URL is correct.
48
 
Once merged, your plugin will be registered and should appear shortly
49
 
afterwards in the generated web page.
50
 
 
51
 
Information on adding your plugin to this guide is provided later in this
52
 
document.
53
 
 
54
 
 
55
28
Testing
56
29
-------
57
30
 
78
51
it calls the function and adds any resulting tests to the master test suite.
79
52
To run just the tests for plugin xxx, the command is::
80
53
 
81
 
  brz selftest bp.xxx
 
54
  brz selftest -s bp.xxx
82
55
 
83
56
 
84
57
Providing help
165
138
``locations.conf`` or ``bazaar.conf``.
166
139
 
167
140
User-visible data for a plugin called xxx should be stored in
168
 
``.brzmeta/xxx``. If mutiple files are desirable, make ``.brzmeta/xxx``
169
 
a directory or give them a common prefix within ``.brzmeta``, e.g.
 
141
``.bzrmeta/xxx``. If mutiple files are desirable, make ``.bzrmeta/xxx``
 
142
a directory or give them a common prefix within ``.bzrmeta``, e.g.
170
143
``xxx-foo``, ``xxx-bar``.
171
144
 
172
 
Data managed behind the scenes should be stored in ``.brz``.
 
145
Data managed behind the scenes should be stored in ``.bzr``.
173
146
Depending on the nature of the data, it may belong in a subdirectory
174
147
within there, e.g. ``checkout``, ``branch`` or ``repository``.
175
148
It's your responsibility to ensure behind-the-scenes data is
176
149
propagated and merged appropriately via custom code. You may want
177
 
to use existing hooks for this or ask for new hooks to help. The
178
 
`Branch Baggage <http://wiki.bazaar.canonical.com/DraftSpecs/BranchBaggage>`_
179
 
feature may assist as well once implemented.
180
 
 
 
150
to use existing hooks for this or ask for new hooks to help.
181
151
 
182
152
Useful metadata
183
153
---------------
224
194
Learning more
225
195
-------------
226
196
 
227
 
`Integrating with Breezy <http://wiki.bazaar.canonical.com/Integrating_with_Breezy>`_
 
197
`Integrating with Bazaar <http://wiki.bazaar.canonical.com/Integrating_with_Bazaar>`_
228
198
explains how to do such operations as ``add``, ``commit``, ``log`` and more.
229
199
 
230
200
Reference documentation on some key APIs is provided below. For a more