Review Request 124168: [Cantor] Port plugin load mechanism to new KDE Frameworks 5 way

Aleix Pol Gonzalez aleixpol at kde.org
Mon Jul 6 15:37:10 UTC 2015



> On July 3, 2015, 10:45 p.m., Filipe Saraiva wrote:
> > src/lib/CMakeLists.txt, lines 57-63
> > <https://git.reviewboard.kde.org/r/124168/diff/2/?file=382975#file382975line57>
> >
> >     I would like to get some tips about how to port that _kcoreaddons_desktop_to_json_ to the new way.
> >     
> >     How I change that _add_library_ above? I get some error messages when I try to compile it.
> 
> Filipe Saraiva wrote:
>     My doubt here is: is there anyway to use shared libraries with JSON metadata or we need to use .desktop files yet?
>     
>     I master branch, src/lib/CMakeLists.txt has:
>     > install( FILES cantor_backend.desktop  DESTINATION ${KDE_INSTALL_KSERVICETYPES5DIR})
>     >
>     > install( FILES cantor_assistant.desktop  DESTINATION ${KDE_INSTALL_KSERVICETYPES5DIR})
>     >
>     > install( FILES cantor_panelplugin.desktop  DESTINATION ${KDE_INSTALL_KSERVICETYPES5DIR})
>     
>     Must I change it for JSON files or I must to use .desktop files yet?

What I've done in most occasions is just dropping the desktop files as the JSON gets embedded in the .so file.


- Aleix


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


On July 3, 2015, 10:33 p.m., Filipe Saraiva wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124168/
> -----------------------------------------------------------
> 
> (Updated July 3, 2015, 10:33 p.m.)
> 
> 
> Review request for KDE Edu, Aleix Pol Gonzalez, Alexander Rieder, and Sebastian K├╝gler.
> 
> 
> Repository: cantor
> 
> 
> Description
> -------
> 
> There is a new way to load plugins in KDE Frameworks 5 way. I ported Cantor plugins support to it. Now Cantor is using K_PLUGIN_FACTORY_WITH_JSON, the plugin path is the same of Qt5 ($QT_PLUGIN_PATH) and different types of Cantor plugins are installed in different subdirectories (backends in backends in ${KDE_INSTALL_PLUGINDIR}/cantor/backends, assistants in ${KDE_INSTALL_PLUGINDIR}/cantor/assistants, and panels in ${KDE_INSTALL_PLUGINDIR}/cantor/panels). KPluginInfo was changed to KPluginMetaData too.
> 
> To do it I followed the documentation and [this post](http://vizzzion.org/blog/2013/08/kde-frameworks-5-plugin-factory-guts/) about KDE Frameworks 5 plugins by sebas.
> 
> 
> Diffs
> -----
> 
>   src/CMakeLists.txt 50f26be 
>   src/assistants/CMakeLists.txt 4baf622 
>   src/assistants/advancedplot/CMakeLists.txt 53da352 
>   src/assistants/advancedplot/advancedplotassistant.cpp a1a21ae 
>   src/assistants/advancedplot/advancedplotassistant.desktop 72b8c9c 
>   src/assistants/advancedplot/advancedplotassistant.json PRE-CREATION 
>   src/assistants/differentiate/CMakeLists.txt 3c722a1 
>   src/assistants/differentiate/differentiateassistant.cpp c8bafb1 
>   src/assistants/differentiate/differentiateassistant.desktop 58e9fb9 
>   src/assistants/differentiate/differentiateassistant.json PRE-CREATION 
>   src/assistants/importpackage/CMakeLists.txt 3db01e2 
>   src/assistants/importpackage/importpackageassistant.cpp e0a9b50 
>   src/assistants/importpackage/importpackageassistant.desktop efa9eed 
>   src/assistants/importpackage/importpackageassistant.json PRE-CREATION 
>   src/assistants/integrate/CMakeLists.txt 23d97fc 
>   src/assistants/integrate/integrateassistant.cpp 601c6b2 
>   src/assistants/integrate/integrateassistant.desktop fc2bfb3 
>   src/assistants/integrate/integrateassistant.json PRE-CREATION 
>   src/assistants/linearalgebra/creatematrix/CMakeLists.txt 8829d06 
>   src/assistants/linearalgebra/creatematrix/creatematrixassistant.cpp 3336604 
>   src/assistants/linearalgebra/creatematrix/creatematrixassistant.desktop 7baf665 
>   src/assistants/linearalgebra/creatematrix/creatematrixassistant.json PRE-CREATION 
>   src/assistants/linearalgebra/eigenvalues/CMakeLists.txt b487099 
>   src/assistants/linearalgebra/eigenvalues/eigenvaluesassistant.cpp e4f0cd9 
>   src/assistants/linearalgebra/eigenvalues/eigenvaluesassistant.desktop e7523c2 
>   src/assistants/linearalgebra/eigenvalues/eigenvaluesassistant.json PRE-CREATION 
>   src/assistants/linearalgebra/eigenvectors/CMakeLists.txt 4c6d086 
>   src/assistants/linearalgebra/eigenvectors/eigenvectorsassistant.cpp d8e02b2 
>   src/assistants/linearalgebra/eigenvectors/eigenvectorsassistant.desktop f0b8a28 
>   src/assistants/linearalgebra/eigenvectors/eigenvectorsassistant.json PRE-CREATION 
>   src/assistants/linearalgebra/invertmatrix/CMakeLists.txt 7e19591 
>   src/assistants/linearalgebra/invertmatrix/invertmatrixassistant.cpp 9799c6d 
>   src/assistants/linearalgebra/invertmatrix/invertmatrixassistant.desktop eaf1f52 
>   src/assistants/linearalgebra/invertmatrix/invertmatrixassistant.json PRE-CREATION 
>   src/assistants/plot2d/CMakeLists.txt 2b02874 
>   src/assistants/plot2d/plot2dassistant.cpp 11d9db8 
>   src/assistants/plot2d/plot2dassistant.desktop 7a8c2da 
>   src/assistants/plot2d/plot2dassistant.json PRE-CREATION 
>   src/assistants/plot3d/CMakeLists.txt bbcac18 
>   src/assistants/plot3d/plot3dassistant.cpp 6b2e764 
>   src/assistants/plot3d/plot3dassistant.desktop c38e33c 
>   src/assistants/plot3d/plot3dassistant.json PRE-CREATION 
>   src/assistants/runscript/CMakeLists.txt 280a237 
>   src/assistants/runscript/runscriptassistant.cpp bb8147d 
>   src/assistants/runscript/runscriptassistant.desktop 0a89743 
>   src/assistants/runscript/runscriptassistant.json PRE-CREATION 
>   src/assistants/solve/CMakeLists.txt 2c25598 
>   src/assistants/solve/solveassistant.cpp 7ad1254 
>   src/assistants/solve/solveassistant.desktop 3b8de2e 
>   src/assistants/solve/solveassistant.json PRE-CREATION 
>   src/backends/CMakeLists.txt 2569d55 
>   src/backends/R/CMakeLists.txt 5e44b3c 
>   src/backends/R/rbackend.cpp a0d9e6a 
>   src/backends/R/rbackend.desktop a9ea1e1 
>   src/backends/R/rbackend.json PRE-CREATION 
>   src/backends/kalgebra/CMakeLists.txt 46a5440 
>   src/backends/kalgebra/kalgebrabackend.cpp 5d7fac9 
>   src/backends/kalgebra/kalgebrabackend.desktop f1a1b35 
>   src/backends/kalgebra/kalgebrabackend.json PRE-CREATION 
>   src/backends/lua/CMakeLists.txt 082f37b 
>   src/backends/lua/luabackend.cpp 30e258e 
>   src/backends/lua/luabackend.desktop 8ecd28e 
>   src/backends/lua/luabackend.json PRE-CREATION 
>   src/backends/maxima/CMakeLists.txt ca48d90 
>   src/backends/maxima/maximabackend.cpp 86843ef 
>   src/backends/maxima/maximabackend.desktop b1df2dd 
>   src/backends/maxima/maximabackend.json PRE-CREATION 
>   src/backends/null/CMakeLists.txt 69ffff3 
>   src/backends/null/nullbackend.cpp 602fd49 
>   src/backends/null/nullbackend.desktop 7f4be60 
>   src/backends/null/nullbackend.json PRE-CREATION 
>   src/backends/octave/CMakeLists.txt ee3ea92 
>   src/backends/octave/octavebackend.cpp 9842364 
>   src/backends/octave/octavebackend.desktop 3ef6332 
>   src/backends/octave/octavebackend.json PRE-CREATION 
>   src/backends/python2/CMakeLists.txt 02115ee 
>   src/backends/python2/python2backend.cpp 61662ff 
>   src/backends/python2/python2backend.desktop 4a60ea4 
>   src/backends/python2/python2backend.json PRE-CREATION 
>   src/backends/python3/CMakeLists.txt 6937480 
>   src/backends/python3/python3backend.cpp c83f631 
>   src/backends/python3/python3backend.desktop 05bce9d 
>   src/backends/python3/python3backend.json PRE-CREATION 
>   src/backends/qalculate/CMakeLists.txt e0f1c3a 
>   src/backends/qalculate/plotassistant/CMakeLists.txt efdd2d2 
>   src/backends/qalculate/plotassistant/qalculateplotassistant.cpp 1d0ae83 
>   src/backends/qalculate/plotassistant/qalculateplotassistant.desktop ce9901a 
>   src/backends/qalculate/plotassistant/qalculateplotassistant.json PRE-CREATION 
>   src/backends/qalculate/qalculatebackend.cpp da866ab 
>   src/backends/qalculate/qalculatebackend.desktop 14ecb8f 
>   src/backends/qalculate/qalculatebackend.json PRE-CREATION 
>   src/backends/sage/CMakeLists.txt 131ad07 
>   src/backends/sage/sagebackend.cpp b1a1ef5 
>   src/backends/sage/sagebackend.desktop 69d4f23 
>   src/backends/sage/sagebackend.json PRE-CREATION 
>   src/backends/scilab/CMakeLists.txt 4ce8200 
>   src/backends/scilab/scilabbackend.cpp 0d47595 
>   src/backends/scilab/scilabbackend.desktop 30f6edd 
>   src/backends/scilab/scilabbackend.json PRE-CREATION 
>   src/cantor_part.cpp 2e3d36d 
>   src/cantor_part.desktop 4619694 
>   src/cantor_part.json PRE-CREATION 
>   src/lib/CMakeLists.txt 9e33924 
>   src/lib/assistant.h f337591 
>   src/lib/assistant.cpp 60c521f 
>   src/lib/backend.cpp 5e64fe7 
>   src/lib/cantor_assistant.json PRE-CREATION 
>   src/lib/cantor_backend.json PRE-CREATION 
>   src/lib/cantor_panelplugin.json PRE-CREATION 
>   src/lib/panelplugin.h ebb02fe 
>   src/lib/panelplugin.cpp 1fa61d0 
>   src/lib/panelpluginhandler.cpp 8c73405 
>   src/panelplugins/CMakeLists.txt 6af7a48 
>   src/panelplugins/helppanel/CMakeLists.txt d8f785f 
>   src/panelplugins/helppanel/helppanelplugin.cpp 4611576 
>   src/panelplugins/helppanel/helppanelplugin.desktop fea19b6 
>   src/panelplugins/helppanel/helppanelplugin.json PRE-CREATION 
>   src/panelplugins/variablemgr/CMakeLists.txt 88f66d1 
>   src/panelplugins/variablemgr/variablemanagerplugin.cpp 6a7b448 
>   src/panelplugins/variablemgr/variablemanagerplugin.desktop e32f014 
>   src/panelplugins/variablemgr/variablemanagerplugin.json PRE-CREATION 
> 
> Diff: https://git.reviewboard.kde.org/r/124168/diff/
> 
> 
> Testing
> -------
> 
> * Build ok;
> * The plugins are loaded correctly;
> * Select some backend and see the Cantor loading assistants and panels;
> * Utilized some assistants, panels and backends, looks like correct.
> 
> 
> Thanks,
> 
> Filipe Saraiva
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20150706/38270f20/attachment-0001.html>


More information about the kde-edu mailing list