Review Request 124168: [Cantor] Port plugin load mechanism to new KDE Frameworks 5 way
Filipe Saraiva
filipe at kde.org
Sun Jul 12 03:26:40 UTC 2015
> On Julho 3, 2015, 8: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?
>
> Aleix Pol Gonzalez wrote:
> What I've done in most occasions is just dropping the desktop files as the JSON gets embedded in the .so file.
Sune reply me in devel-mail list for not to use any metadata file. What do you think about it?
- Filipe
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124168/#review82056
-----------------------------------------------------------
On Julho 3, 2015, 8:33 p.m., Filipe Saraiva wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124168/
> -----------------------------------------------------------
>
> (Updated Julho 3, 2015, 8: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/20150712/c7ad6ef9/attachment-0001.html>
More information about the kde-edu
mailing list