plugin plans

Sebastian Kügler sebas at kde.org
Wed Sep 25 21:30:27 UTC 2013


On Wednesday, September 25, 2013 21:47:59 Aaron J. Seigo wrote:
> On Wednesday, September 25, 2013 11:48:50 Sebastian Kügler wrote:
> > I'd like to install our binary plugins into subdirectories. This is in
> > line
> 
> +1
> 
> > with how we'll do it across KF5. These plugins won't need .desktop files
> 
> +10
> 
> > The new API also allows us to use packages' metadata for querying. It
> > means
> > building up a KPluginInfo::List from metadata (so a bit of crawling
> > through
> > the filesystem, but probably not recursively, to list plugins. Looking at
> > plasmapkg, the code to list packages is a bit convoluted right now, and
> > I'd
> > like to see that fixed.
> 
> it is convoluted because *some* of our packages registered .desktop files
> with  ksycoca, some didn’t. what i like about the new system is ksycoca
> dies as far as we’re concerned and all packages, binary or scripted or just
> plain data (e.g. wallpapers) can be treated identically. huzzah.

It'll be a bit of work, but can be done somewhat gradually. First the 
dataengines, then different sorts of packages.means

Ironically, I think during our last sprint, I made them all use .desktop 
files, now I'll make it so they won't. All in the name of progress. ;)

> > With this in place, we can tackle more pieces of Plasma::PluginLoader to
> > make it sycoca-free.
> >
> > Obviously, this is your chance to weigh in. :)
> 
> i have nothing to say other than “fuck yeah"

Awesome. I have a branch doing this for all dataengines, and switching the 
dataengine loading to KPluginTrader. All my tests pass, and I'm ready to merge 
these bits. It should be backwards compatible (i.e. having plugins in the old 
path around won't matter much, they won't be found there). Changing the cmake 
installation path was rather straightforward (or so thought my perl script).

Cheers,
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9


More information about the Plasma-devel mailing list