Review Request 119919: Install plugins to a versioned kdevplatform subdirectory

Alexander Richardson arichardson.kde at gmail.com
Sun Aug 24 15:01:01 UTC 2014



> On Aug. 24, 2014, 2:53 nachm., Milian Wolff wrote:
> > debuggers/gdb/CMakeLists.txt, line 99
> > <https://git.reviewboard.kde.org/r/119919/diff/1/?file=307426#file307426line99>
> >
> >     I'd opt for a folder structure of the form
> >     
> >     kdevplatform/$version/
> >     
> >     or at least put a - between kdevplatform and the version
> 
> Alexander Richardson wrote:
>     Okay will change it to kdevplatform/$version/

Reviewboard somehow ate my previous reply (guess I forgot to press OK before publish), I mean to change it to kdevplatform/$version/plugins for plugins and kdevplatform/$version/kcm. Is this okay?


> On Aug. 24, 2014, 2:53 nachm., Milian Wolff wrote:
> > debuggers/gdb/kdevgdb.desktop.cmake, line 122
> > <https://git.reviewboard.kde.org/r/119919/diff/1/?file=307427#file307427line122>
> >
> >     interesting, why this? could we not simply install the .desktop file into the same folder like the plugins?

X-KDE-Library is always interpreted relative to QT_PLUGIN_PATH no relative to the .desktop files. These have to be in share/kservice5 so that kbuildsycoca and KPluginTrader can find them.

In the future we can use KPluginLoader::findPlugins("kdevplatform/$version/plugins") which no longer needs the .desktop files and instead reads the metadata from inside the shared library (without loading it). This simply iterates over all .so files in the directory and then we can decide which ones to load based on the metadata. Since it iterates over all files in the directory I would suggest having kcms and plugins in different subdirectories.

I think KCMs may still need kbuildsycoca, have not looked into that yet.


- Alexander


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119919/#review65118
-----------------------------------------------------------


On Aug. 24, 2014, 2:20 nachm., Alexander Richardson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119919/
> -----------------------------------------------------------
> 
> (Updated Aug. 24, 2014, 2:20 nachm.)
> 
> 
> Review request for KDevelop.
> 
> 
> Repository: kdevelop
> 
> 
> Description
> -------
> 
> Install plugins to a versioned kdevplatform subdirectory
> 
> 
> Diffs
> -----
> 
>   utils/okteta/kdevokteta.desktop.cmake b4873440e782c1e38eb6fcfc12429a1fbf6fd601 
>   utils/okteta/CMakeLists.txt ce2e402d50d68e71f4e15203ecdef0984c32f1a3 
>   projectmanagers/custom-buildsystem/kdevcustombuildsystem.desktop.cmake 9d2aa8b92e65f42eaea17c70fd2abce7fbddea63 
>   projectmanagers/custommake/CMakeLists.txt 0625b06a2613b67a653def424ee8b2e03e2c11d4 
>   projectmanagers/custommake/kdevcustommakemanager.desktop.cmake 64aed5efa78984e98cb0d1d0132141f5797f8770 
>   providers/ghprovider/CMakeLists.txt 9b668e42fda4c6a0bf4d5e87d05c9f474625c72a 
>   providers/ghprovider/kdevghprovider.desktop.cmake 558f8a26e89582046549e95699bd918410c849a5 
>   projectmanagers/cmake/kdevcmakedocumentation.desktop.cmake c2ae394a45be1cf10d2fa36277c3facc9ea6c6a4 
>   projectmanagers/cmake/kdevcmakemanager.desktop.cmake daa942389c8e3b09c96a0293b6b2e960c5ec6c1b 
>   projectmanagers/custom-buildsystem/CMakeLists.txt be186bf79a495c9dfb67b07b2e8c6a60c43b6c97 
>   projectbuilders/ninjabuilder/kdevninja.desktop.cmake d7bcc24a226d9d2f9a9ec36037277f9e07a6a931 
>   projectmanagers/cmake/CMakeLists.txt a894120ec150a9893e2dde6be5bee84b8d3ce3c8 
>   languages/cpp/CMakeLists.txt 2fc31ae95f69391e6c0838cf676fe14158db5f54 
>   languages/cpp/kdevcppsupport.desktop.cmake f3aae87def3e5c7e7b8f559a291e6cbce6502095 
>   languages/plugins/custom-definesandincludes/CMakeLists.txt 5fd7c510f454002c9335a7da1e692358803bb6d8 
>   languages/plugins/custom-definesandincludes/compilerprovider/CMakeLists.txt af4b8aae0ad7b829925b02594c464e92cb7db832 
>   languages/plugins/custom-definesandincludes/compilerprovider/kdevcompilerprovider.desktop.cmake b3f9f1fda2a5a69f3bd788ba8cc9c5434a61c432 
>   languages/plugins/custom-definesandincludes/kdevdefinesandincludesmanager.desktop.cmake 764bedffc149b30c8158f1a074aecc9a62e5d7e9 
>   projectbuilders/cmakebuilder/CMakeLists.txt 23fa7bc2a854f1437c9b396125de668afe40d9bd 
>   projectbuilders/cmakebuilder/kdevcmakebuilder.desktop.cmake 72a7b30ee480c49073c22ca8ccdcc7b89978f791 
>   projectbuilders/makebuilder/CMakeLists.txt cd4fb2ebcd404e4673674be2c881ab4cec53e9d5 
>   projectbuilders/makebuilder/kdevmakebuilder.desktop.cmake b40f7cfc558703de804c4a4170fbeb24ce087e4c 
>   projectbuilders/ninjabuilder/CMakeLists.txt 6bd40aede43de87ed63e425a83e51686f513e3e0 
>   formatters/customscript/CMakeLists.txt a6777d03336145e5ece7f668ec99ba665dcef492 
>   formatters/customscript/kdevcustomscript.desktop.cmake 575947d012ae7210968fcc61d2d5a770061d95e5 
>   kdeintegration/executeplasmoid/CMakeLists.txt ebf593996ce031a3dbe2e896850273a77dca81d2 
>   kdeintegration/executeplasmoid/kdevexecuteplasmoid.desktop.cmake 5c8f9407ac7e9386f1545e4fd535b7eb299418ae 
>   kdeintegration/kdeprovider/CMakeLists.txt ce472d8d511fde3e7515f0551e97c0ebd52026a3 
>   kdeintegration/kdeprovider/kdevkdeprovider.desktop.cmake 8db895f4ffb8a3e3d18d3935ff5578af3e80699a 
>   documentation/qthelp/CMakeLists.txt b5a95c6fb9d874601e192762c348d4bcea7ceb48 
>   documentation/qthelp/kdevqthelp.desktop.cmake 62590260b4b181d60b564a9a28b5d8fd8e43d6d4 
>   formatters/astyle/CMakeLists.txt c73a299a45fc84468a4a223fcfbd9ccb09b68268 
>   formatters/astyle/kdevastyle.desktop.cmake e27931321ab3f96dd18f9068fe56932255ddbca9 
>   debuggers/gdb/CMakeLists.txt 4f29c1fda4875980d53d5842834caf8f4b228a1d 
>   debuggers/gdb/kdevgdb.desktop.cmake 9c9ee1bc90ac44b51289943ab784ca7e4327fdcc 
>   documentation/manpage/CMakeLists.txt c58907f2c2973d52ffb88a0aa9ebc97c4150e25c 
>   documentation/manpage/kdevmanpage.desktop.cmake b31d9a234c413e31f187906caafb4dc22f593df5 
> 
> Diff: https://git.reviewboard.kde.org/r/119919/diff/
> 
> 
> Testing
> -------
> 
> Plugins still load (after running kbuildsycoca5).
> 
> This is the first towards using KPluginLoader::findPlugins() which will allow removing usage of kbuildsycoca
> 
> 
> Thanks,
> 
> Alexander Richardson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20140824/c9fc2958/attachment-0001.html>


More information about the KDevelop-devel mailing list