[compiz] solving plugin dependency issues

Alexandre Mazari scaroo at gmail.com
Sun Oct 8 16:05:13 PDT 2006


Hi List !

David said :
> I'm suggesting that we add some way to register and depend on features.
> E.g. the cube and plane plugins would both register a "largedesktop"
> feature. zoom plugin could depend on the "largedesktop" feature instead
> of the cube plugin and it wouldn't be possible to load two plugins that
> provide the same feature.

David, what you describe looks a lot like the Eclipse RCP bundle model
based on OSGi specifications. A very very flexible system :

First, everything is a plugin and is described
- by an id
- a description ans some usual informations
- a list of required previoulsy loaded plugins

And now the meal :)

- a list of extension points defining how other plugins can contribute
to it being by code, ressources, strings etc... (ex : ext point
org.freedesktop.compiz.largedesktop must be a desktop handling plugin
and is unique)

- a list of contributions (called Extensions) to other plugins
( ex : contribute to org.freedesktop.compiz.largedesktop with a class
named Cube implementing an accordingly interface ILargeDesktop)



Sadly, most if not all OSGi plugins systems are build around Java, but
I think it can be a great inspiration for any plugin system like the
compiz' one.

(OT : A C or C++ implementation would be a nice fullfeatured
freedesktop.org project !)

Happy coding !

--
Alexandre Mazari
Eleve Ingénieur 5eme Année Epitech
Responsable Technique poly/son (poly-son.pfe.epitech.net)


More information about the compiz mailing list