Review Request 119972: Plugin loading without kbuildsycoca (however still required for KCMs)

Alexander Richardson arichardson.kde at gmail.com
Sun Sep 14 17:43:29 UTC 2014


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

(Updated Sept. 14, 2014, 5:43 p.m.)


Status
------

This change has been marked as submitted.


Review request for KDevelop.


Repository: kdevplatform


Description
-------

This iterates over all plugins in the kdevplatform/$KDEVPLATFORM_VERSION
subdirectories of QCoreApplication::libraryPaths and will then include
all plugins that contain "KDevelop/Plugin" in their service types.

This meta data is now embedded directly in the shared libraries, there
is no more need for kbuildsycoca and .desktop files.

This means we now require KCoreAddons 5.2 and KService 5.3


For testing I converted KDevWelcomepage to the new JSON metadata and it
loads fine. If this approach is deemed correct I will convert the other plugins.


It requires https://git.reviewboard.kde.org/r/119970/ to get committed first (committed now).


Diffs
-----

  CMakeLists.txt 428bcebcea3944e7374e3ed95b24ad57f18d8cb9 
  plugins/welcomepage/kdevwelcomepageplugin.desktop.cmake  
  plugins/welcomepage/welcomepageplugin.cpp 4ced24720b8c27e892878527a73282c24a77f9b6 
  shell/plugincontroller.cpp c610b56722394baad43542c09cbce1a0d3ca16c5 
  shell/settings/CMakeLists.txt 68d346165182db31f293577c1e9ae3869f1e7001 
  shell/settings/bgpreferences.cpp c3a8edac80141576707e7af1484262fed6796d10 
  shell/settings/ccpreferences.cpp 289390e2be6382eaf0950dc4bda85adc99ea540c 
  shell/settings/environmentpreferences.cpp 95e41d853da3090f69cc0abdd3df8a3de602984c 
  shell/settings/pluginpreferences.cpp 8d168c8d76a521c28be8cd452be66542875bf5c7 
  shell/settings/projectpreferences.cpp 9c605a19f459bd7daaa21f6f3184aa57afe60177 
  shell/settings/sourceformattersettings.cpp c82981db9b4879d669c15f7597c61bcf2c81c197 
  shell/settings/uipreferences.cpp 3bf2e82e5a6202ccba3de862ee6f89c7dacd563a 
  shell/tests/nonguiinterfaceplugin.cpp 9eabf9a31e40734b7164e79fcda42f44f66438ef 
  plugins/vcschangesview/CMakeLists.txt c0142e8d73ea3175e0fa47823e93ae6a646a319b 
  plugins/vcschangesview/vcschangesviewplugin.cpp 27460040477ade36b516b9c06998a5fd70525eac 
  plugins/welcomepage/CMakeLists.txt 34ee3302fadd8a85a66dd2f5b776f0aa09468afb 
  plugins/quickopen/CMakeLists.txt 624513e1cfaa13cd2399f90a5ce76295644fba27 
  plugins/quickopen/quickopenplugin.cpp 514dc11b35e5bd6cfd3737d1deb3c1653d76acc5 
  plugins/reviewboard/CMakeLists.txt 9cda85342f725f7968380648a381242313c1930f 
  plugins/reviewboard/reviewboardplugin.cpp ff7717cbb823bd97338c70251c578010d09b624c 
  plugins/snippet/CMakeLists.txt 2305b7863be1ba0796b91732dda79e74e777cd96 
  plugins/snippet/snippetplugin.cpp 73d2afdeb6d6100641199b7817265e80184934bf 
  plugins/standardoutputview/CMakeLists.txt 38d8cb82a98b9ac19086a17f392f61b2e189635f 
  plugins/standardoutputview/standardoutputview.cpp 0b17af80f4ef5800244d375ce2e991f8be70b263 
  plugins/subversion/CMakeLists.txt 2a31e21165cd05f2537ad9485dcc3fe86f1efd6b 
  plugins/subversion/kdevsvnplugin.cpp e5f5a89a1335dd6cb41d37d0a8f77b5e7cd6a0db 
  plugins/switchtobuddy/CMakeLists.txt 382cc20ba503ac5e687c9bc5c920309cc6236aeb 
  plugins/switchtobuddy/switchtobuddyplugin.cpp ad3be718bc12bee24e686d2d1a36aca75ccad7bf 
  plugins/templatemanager/CMakeLists.txt 4946c7924d5b24731f25a62bf27294b14fb4b412 
  plugins/templatemanager/templateconfig.cpp d7c0371bc44ff81f17e6faf6c0c6408e837d45a5 
  plugins/testview/CMakeLists.txt 10eec21d9725ed5647fc4dff9d065c592e66e6c9 
  plugins/testview/testviewplugin.cpp 52b16e4ff4d309f5a9715e44f2b74d5bf27589a1 
  plugins/projectfilter/CMakeLists.txt e922f5c937f17181ad4eb3ca054440df017c85a5 
  plugins/projectfilter/projectfilterkcm.cpp 5a59115151702573b95000f4b66b351bcca02710 
  plugins/projectfilter/projectfilterprovider.cpp 1ff1ec8a03c817f18e0462fbbf2c6b4fe79977a9 
  plugins/projectmanagerview/CMakeLists.txt 7720a60477f0074ebeb34976459a8a6db38b941e 
  plugins/projectmanagerview/projectmanagerviewplugin.cpp 0fe57fa27eb37ec6371f2923dea30c00ff4e8ee4 
  plugins/contextbrowser/contextbrowser.cpp ea73f8aa1af6644e94256f39c90ec762d08aa0e1 
  plugins/cvs/CMakeLists.txt 93d6cecd8f52c0b2f4b49de76a5b1661e0432ace 
  plugins/dashboard/kdevprojectdashboard.cpp 8c2eaf5f0a0f8b63aa1b05ec1a9a2a8e0434f68f 
  plugins/documentswitcher/CMakeLists.txt 46a779c4cf56f1a4387915dd3d3f030d33b0e284 
  plugins/documentswitcher/documentswitcherplugin.cpp b5f448005994495a55037a35c6d76fb7236ca97f 
  plugins/documentview/CMakeLists.txt 9f1483e0b8d5c74c3de13fa989e2e7b995906c5e 
  plugins/documentview/kdevdocumentviewplugin.cpp fa8c3f18b658609f6cdf704529e03c118c463367 
  plugins/execute/CMakeLists.txt 8f2e01b86f1e382e45ea5ff6bbce205710a52609 
  plugins/execute/executeplugin.cpp ca905a501457d81dec49c6cc1e1d7d6986a6eb74 
  plugins/executescript/CMakeLists.txt 67381f93d4e84aa2b0338c8195d43e14fd92b9e1 
  plugins/executescript/executescriptplugin.cpp aa672c9b91b371551f8588e6bd01a7d64674c3de 
  plugins/externalscript/CMakeLists.txt 93d459bb0780efe7534d7dfc3e19fe7349192fde 
  plugins/externalscript/externalscriptplugin.cpp 3b125c4162f7b497f820e06590ffbda6d2aab746 
  plugins/filemanager/CMakeLists.txt 2ea0539e588bf58482a219c3000d2e5e4379047f 
  plugins/filemanager/kdevfilemanagerplugin.cpp b84271c6c6c03d569d2031e53813e51e95fce790 
  plugins/filetemplates/CMakeLists.txt f9ba4d437000e08a448c3865f24398d3eb54f164 
  plugins/filetemplates/filetemplatesplugin.cpp 31c7027353945665bb67f467fa1712a97251d769 
  plugins/genericprojectmanager/CMakeLists.txt 427323c4ebec756801c6a62fa3e284862f00cde8 
  plugins/genericprojectmanager/genericmanager.cpp 4b563605be98e2a92c6d0d693f218b3ebf110c6a 
  plugins/git/CMakeLists.txt 35acdea2790646aa1aa2b183043c34b2e10d2244 
  plugins/git/gitplugin.cpp 8597cf2819a397a71f696c3bbf8397b3b0d21ebd 
  plugins/git/gitpluginmetadata.cpp PRE-CREATION 
  plugins/grepview/CMakeLists.txt 84d66cf9634a359b64ec082689258eba286882e8 
  plugins/grepview/grepviewplugin.cpp fc5a1786c8e4039b1705289b2c4cf70f86103b7e 
  plugins/grepview/grepviewpluginmetadata.cpp PRE-CREATION 
  plugins/konsole/CMakeLists.txt 2f536b36b062f1caed254c6ef3a9843cbf3453bf 
  plugins/konsole/kdevkonsoleviewplugin.cpp ac8a4816a43f73b0feeae5f9a3db19a501748394 
  plugins/openwith/CMakeLists.txt 407777482ef2c88461716c7290a7310125abcbbf 
  plugins/openwith/openwithplugin.cpp 37bb97b3d0f62cb398c221aea223c8872314f683 
  plugins/pastebin/CMakeLists.txt 9d2d4cba0120601fc5b314b056ebd033e6ab69b3 
  plugins/pastebin/pastebinplugin.cpp 3960ef4d5fbda1aa4eaba8ace7d112b7251a81bd 
  plugins/patchreview/CMakeLists.txt 02720119fc44770c6ee7a14d1d03184b284db791 
  plugins/patchreview/patchreview.cpp dbf6a34d3859493b780879270e8c11d68988bb0b 
  plugins/problemreporter/CMakeLists.txt 25fbdcec795f1cb0c0fe1a3a14fc841a303af766 
  plugins/problemreporter/problemreporterplugin.cpp 2d9971d198ac8b5e9ee05682e281fb18d2ad585e 
  plugins/appwizard/appwizardplugin.cpp 9bc69f83fb813bfacae5d9f01b7b450eb03d6368 
  plugins/bazaar/CMakeLists.txt 17820ea528abfe0b8b9cb610edddbe00bc5b02f2 
  plugins/bazaar/bazaarplugin.cpp dc1ac6e102b2f593c096164aa46d9ef7be2695c6 
  plugins/bazaar/bazaarpluginmetadata.cpp PRE-CREATION 
  plugins/classbrowser/CMakeLists.txt c5d61a37811999844ae759c5e97821d52e92ab2d 
  plugins/classbrowser/classbrowserplugin.cpp 6b4a726fa84626db9295ea4af1a60a9d36570b92 
  plugins/codeutils/CMakeLists.txt 12c3ce390dfaa62c1fecdff932d1181318622e9f 
  plugins/codeutils/codeutilsplugin.cpp 3864c943d3e675023bd041f6804ca1e4c1d32181 
  plugins/contextbrowser/CMakeLists.txt e2cf7f63c608520a5cd024ca3bcf22549b8200cd 
  plugins/appwizard/CMakeLists.txt 7fb59bac3396c7b061e0532cb1a4a822ba9fce87 

Diff: https://git.reviewboard.kde.org/r/119972/diff/


Testing
-------

Welcomepage loads fine when opening kdevelop, other plugins are still loaded. It new finds 26 new style plugin and 17 old style ones (from kdevelop since that is not ported yet)


Thanks,

Alexander Richardson

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


More information about the KDevelop-devel mailing list