Hi Vincent,
thanks for your work.
On 10/14/06, Vincent Massol <vincent(a)massol.net> wrote:
Hi,
I'd like to propose the following:
1) We create a single trunk/, branches/ and tags/ for plugins instead
of having one per plugin which is a maintenance nightmare. This is
what we're doing for Maven and it seems to be working fine. See
http://svn.apache.org/repos/asf/maven/ If you think it's better, I agree. But
how we do when we want to
release a plugin? All the plugins have to be stable at the same time?
2) We move all plugins from core/main/src/java/c/x/w/plugin/* to
xwiki/xwiki-plugins/trunk/*. That's provided there's no direct link
between the core and the specific plugins. If there are then they'll
need to be decoupled, possibly by introducing a components/ directory
of components (which BTW could be used as the parent directory for
hosting components if/when we decide to move to using a
component-based architectire (OSGI, etc).
Yes, be carefull with the plugin with
dependencies inside the code
like the upload plugin. A solution, could be to change it to
component, and doing a plugin to access to the functions of this
component. Some plugins have dependencies between them also. for
exemple in the GELC project, some the plugins are depends on the
others. I think some plugins(actually on the core) are depend on
others.
3) Each plugin build will result in a plugin jar and
we add some or
all of those jars to the distributions. As there's currently no online
plugin downloading mechanisl we may need several distributions: a
minimal one without any plugin, one with "core" plugins and one with
all plugins. Or we could choose to have only 2: one without plugins
and one with all plugins.
I prefer the first solution, but with something a little bit
different, we distribute the core with the minimum required plugins,
and we create a repository with all the jar of the plugin (as ibilio
for maven), and a package with all the official plugins.
What do you think?
jeremi