On Mon, Feb 11, 2013 at 11:24 PM, Lukas Krejci <lkrejci(a)redhat.com> wrote:
While technically, I think we have most of the questions answered
thanks to
your work, Heiko, I think a couple of questions still have to be answered.
1) If we are going to split plugins and helpers from the core RHQ, how is it
going to affect versioning?
Are we still going to require "simultaneous releases" of all the plugins and
the rest of the RHQ? Or are the plugins going to "have life of their own"? If
there is just one repo for all plugins, are all the plugins going to have the
same release cycle or is each plugin going to be versioned separately? If they
were versioned separately, wouldn't it make more sense to have a repo per
plugin?
I created about 10+ plugins that are proprietary.
I considered what it might be for one plugin per repository, but there
are a lot of plugins so that makes building all that fairly tedious
work. There's a lot of plugins that depend on each other, so in that
case it makes sense to build them together. I might consider breaking
them off into specific areas. E.g. databases, hadoop, snmp,
networking, etc.
2) Our goal is to improve the situation of the plugin writers so that
they
don't have to check out the whole codebase before they can write their own
plugin (which they don't have to do even today). How is the split of the
plugins going to help them? They can depend on a released plugin-api artifact
and create their plugin in a complete separation from the rest of the
codebase.
Creating your own plugin is one thing, but another is actually
improving an existing plugin, which would be the point of having a
separate plugin repository.
A small, separate plugin repo makes it much easier for me to create
specific changes and contribute them back, without having to track my
(often very small) changes into a very large code base. It also makes
the build reasonably fast and easy. It also makes templating easy: The
plugin writer just has to fork, copy a sample plugin, make some
changes, etc., then send a pull request. Yes, a Maven template works
too, but then a write would need a separate repo, you'd need another
repo build configured to bring that third party plugin into your main
RHQ distribution.