[RFC] bzr plugins pack for windows && plugins metainfo requirements proposal

Alexander Belchenko bialix at ukr.net
Wed Nov 28 10:12:00 GMT 2007


Hi all plugins writers and plugins users.

I'd like to inform all interested people that I'd like to start
work in creating separate windows installer aka "bzr plugins pack"
for standalone bzr.exe. This work depends on my pending patch
that provides system-wide plugins support for bzr.exe:
http://bundlebuggy.aaronbentley.com/request/%3C4746E403.9040907%40ukr.net%3E

I hope it will land for bzr 1.0.

This plugins pack will contains a lot of useful plugins (pure-python 
ones at this moment) and will allows easy installation in system for
end users. This plugins pack will provide ability to select only
needed set of plugins to install.

This in turn require that all bundled plugins should have correct
meta information inside.

I'm always tend to automatize installer building tasks, so I want
to standardize some requirements for plugins intended to inclusion
in plugins pack.

1) Each plugin should have valid description in docstring of their
main module (in __init__.py if it's the python package, or in python
module if it's the lone module).

Such description should have summary info in first line (that's info
shown in output of `bzr plugins` command), and detailed info in next
paragraph(s). This detailed info should give expression about additional 
functionality plugin provides for bzr, list of new commands or notes
about changing behavior of standard bzr commands. Also there is should
be information about plugin author(s) and short license name (e.g. GPL).
Also desirable if you're specify level of maturity of your plugin,
e.g. mature, beta, experimental or something similar in free form.

2) Each plugin should have valid version info. No doubts.

3) Each plugin should have info about compatibility with bzr versions.
Either in description or as global varibale. I propose to use variable
"bzr_compatibility_info". This variable should be either tuple in the
same format as version_info, or list of 2 elements:
[min_version, max_version]
min_version and max_version should be again tuple in the format used by
version_info.

Comments? Another bit of meta info I missing?
Suggestions? Objections?

Currently I'm starting to select plugins to inclusion to this pack.
Of course, bzrtools will be there, no doubts.
Other plugins that have windows compatibility mark at plugin page will 
be reviewed first. If you can't test your plugin on Windows yourself,
send me e-mail with short explanation how I could test it myself.
Selftest is preferable option.

I hope my proposal make sense for windows users and plugins writers.
If you think this is stupid ugly and silly idea -- speak now before
I'm going too far.

Alexander.



More information about the bazaar mailing list