bzr-plugin-info [suggest plugins at runtime]

Robert Collins robertc at robertcollins.net
Mon Mar 1 08:18:37 GMT 2010


So a while back we had this plan, to scan plugins for metadata, build a
db, and advertise plugins in the client.

It kindof stalled, but I found time to move it forward a bit again
today.

bzr-plugin-info now hooks get_missing_command, and has the ability to
write a db from its 'plugin-info' command. If you install bzr-plugin
info and try something like 'bzr git-import' or 'bzr up-thread' when you
have neither bzr-git or bzr-loom installed, you should get something
nice like:

$ bzr git-import
Command 'git-import' is not available at the moment.
The following plugins include this command:
 * git (branch available ../../git/trunk)


The ../../path is because I scanned locally. Many plugins are missing
metadata, and a number couldn't be scanned. So I've improved plugin-info
to scan successfully in more cases, and submitted patches so that
scanning does not error to all the plugins I had locally.


What does this mean to you, as a plugin author?
See 
http://doc.bazaar.canonical.com/bzr.dev/developers/plugin-api.html#plugin-metadata-before-installation

For the docs: you should advertise the commands you ship,the formats you
provide or can read, so that bzr plugin-info can scan your plugin.

To test, just point it at your local disk:
cd my-plugin-dir
bzr plugin-info .

I think a sensible next step would be to expand the metadata spec to
accommodate hooks as well as some advertising docs, home page etc. (Some
of these are available from setup.py PKG_INFO, but you have to build
that to get at it: perhaps we should teach plugin-info how to do that as
well.

I'd like to see this (with a better list of urls) shipped to users by
default in Lucid; we don't need it to be much more comprehensive; we
don't need to have this perfect first, after all.

We could ship it by default a few different ways:
 - bundle as a plugin in core
 - recommend: in the binary packaging (and suggest other platforms do
the same)
 - ???

I don't have a strong preference. I have a weak preference to keep it
outside the core: its been good for the core to prepare for this plugin,
and I like to keep that clarity.

-Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20100301/aa5c7737/attachment.pgp 


More information about the bazaar mailing list