Review Request 109315: Automatically put the version number in the plugin's desktop files
Aleix Pol Gonzalez
aleixpol at gmail.com
Thu Mar 7 01:20:28 UTC 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/109315/
-----------------------------------------------------------
(Updated March 7, 2013, 1:20 a.m.)
Review request for KDevelop, Andreas Pakulat and Milian Wolff.
Changes
-------
Include the plugin version in the KDevPlatformConfig.cmake, so that the variable is known to the kdevplatform users. (and they can apply the same trick as well)
Description
-------
One of the worst things when developing plugins in kdev is that we need to target an ABI version number. It makes sense to have it but it is possible to have an API-compatible plugin that isn't compatible due to the ABI version.
Also, every time we change kdevplatform version, we have to go through all plugins an change the version number in all projects.
In this patch, I'm using cmake to configure all the desktop files in runtime. If you guys like the idea, I'll implement it for KDevelop.
There are other things we could do, since we're generating it, we could set the KDE-PluginInfo-Version to kdevplatform's, I think it would make sense.
In case somebody wonders, scripty already knows about .desktop.cmake files.
For reference, I used these bash commands for changing it to the new way:
find . -name kdev*.desktop | xargs -I @ git mv @ @.cmake
find . -name *.desktop.cmake | xargs sed -i -e 's/X-KDevelop-Version=16/X-KDevelop-Version=@KDEV_PLUGIN_VERSION@/g'
find . -name CMakeLists.txt | xargs sed -r -i -e "s/install\( *FILES kdev(.*).desktop/configure_file(kdev\1.desktop.cmake \${CMAKE_CURRENT_BINARY_DIR}\/kdev\1.desktop)\ninstall(FILES \${CMAKE_CURRENT_BINARY_DIR}\/kdev\1.desktop/g"
Diffs (updated)
-----
plugins/codeutils/tests/templates/test_yaml/test_yaml.desktop bd32a9b
plugins/codeutils/tests/templates/test_qtestlib/test_qtestlib.desktop.cmake PRE-CREATION
plugins/codeutils/kdevcodeutils.desktop.cmake PRE-CREATION
plugins/codeutils/tests/templates/test_qtestlib/test_qtestlib.desktop 1bd432e
plugins/codeutils/kdevcodeutils.desktop 70a6b88
plugins/codeutils/CMakeLists.txt 3694060
plugins/classbrowser/kdevclassbrowser.desktop 5983d4b
plugins/classbrowser/kdevclassbrowser.desktop.cmake PRE-CREATION
plugins/classbrowser/CMakeLists.txt bfb1688
plugins/appwizard/kdevappwizard.desktop 2ffcb12
plugins/appwizard/kdevappwizard.desktop.cmake PRE-CREATION
plugins/appwizard/CMakeLists.txt 26b0f4c
interfaces/ipluginversion.h.in PRE-CREATION
interfaces/iplugin.h 3a30eda
interfaces/iplugincontroller.cpp d7e8764
interfaces/CMakeLists.txt 5e83497
CMakeLists.txt d0bcfa7
KDevPlatformConfig.cmake.in afed48f
plugins/codeutils/tests/templates/test_yaml/test_yaml.desktop.cmake PRE-CREATION
plugins/contextbrowser/CMakeLists.txt abf573a
plugins/contextbrowser/kdevcontextbrowser.desktop b8a0386
plugins/contextbrowser/kdevcontextbrowser.desktop.cmake PRE-CREATION
plugins/cvs/CMakeLists.txt 150ff18
plugins/cvs/kdevcvs.desktop dd7939c
plugins/cvs/kdevcvs.desktop.cmake PRE-CREATION
plugins/dashboard/CMakeLists.txt 3ed5574
plugins/dashboard/kdevprojectdashboard.desktop 28bf473
plugins/dashboard/kdevprojectdashboard.desktop.cmake PRE-CREATION
plugins/dashboard/plasmoids/projectfileplasmoid/CMakeLists.txt d3016d7
plugins/dashboard/plasmoids/projectfileplasmoid/kdev-dash-projectfileelement.desktop 4c43d5c
plugins/dashboard/plasmoids/projectfileplasmoid/kdev-dash-projectfileelement.desktop.cmake PRE-CREATION
plugins/documentswitcher/CMakeLists.txt 9312337
plugins/documentswitcher/kdevdocumentswitcher.desktop e45a9ef
plugins/documentswitcher/kdevdocumentswitcher.desktop.cmake PRE-CREATION
plugins/documentview/CMakeLists.txt 30fc272
plugins/documentview/kdevdocumentview.desktop 5187c81
plugins/documentview/kdevdocumentview.desktop.cmake PRE-CREATION
plugins/execute/CMakeLists.txt 6c65936
plugins/execute/kdevexecute.desktop a71f502
plugins/execute/kdevexecute.desktop.cmake PRE-CREATION
plugins/executescript/CMakeLists.txt 2b90327
plugins/executescript/kdevexecutescript.desktop 83fd95d
plugins/executescript/kdevexecutescript.desktop.cmake PRE-CREATION
plugins/externalscript/CMakeLists.txt c8f2f73
plugins/externalscript/kdevexternalscript.desktop cd97a2f
plugins/externalscript/kdevexternalscript.desktop.cmake PRE-CREATION
plugins/filemanager/CMakeLists.txt a6a6a9f
plugins/filemanager/kdevfilemanager.desktop 6b94c5d
plugins/filemanager/kdevfilemanager.desktop.cmake PRE-CREATION
plugins/filetemplates/CMakeLists.txt 77b3be7
plugins/filetemplates/kdevfiletemplates.desktop 7d1434f
plugins/filetemplates/kdevfiletemplates.desktop.cmake PRE-CREATION
plugins/genericprojectmanager/CMakeLists.txt b081a1b
plugins/genericprojectmanager/kdevgenericmanager.desktop 8712aab
plugins/genericprojectmanager/kdevgenericmanager.desktop.cmake PRE-CREATION
plugins/git/CMakeLists.txt f2bf0f1
plugins/git/kdevgit.desktop e1aceff
plugins/git/kdevgit.desktop.cmake PRE-CREATION
plugins/grepview/CMakeLists.txt f9e87af
plugins/grepview/kdevgrepview.desktop ec085ef
plugins/grepview/kdevgrepview.desktop.cmake PRE-CREATION
plugins/konsole/CMakeLists.txt 034b4a2
plugins/konsole/kdevkonsoleview.desktop 1778364
plugins/konsole/kdevkonsoleview.desktop.cmake PRE-CREATION
plugins/openwith/CMakeLists.txt 3217702
plugins/openwith/kdevopenwith.desktop b484570
plugins/openwith/kdevopenwith.desktop.cmake PRE-CREATION
plugins/pastebin/CMakeLists.txt c9fe952
plugins/pastebin/kdevpastebin.desktop a25f638
plugins/pastebin/kdevpastebin.desktop.cmake PRE-CREATION
plugins/patchreview/CMakeLists.txt 8bedb83
plugins/patchreview/kdevpatchreview.desktop 3380d21
plugins/patchreview/kdevpatchreview.desktop.cmake PRE-CREATION
plugins/problemreporter/CMakeLists.txt 89b197d
plugins/problemreporter/kdevproblemreporter.desktop c20f0d2
plugins/problemreporter/kdevproblemreporter.desktop.cmake PRE-CREATION
plugins/projectmanagerview/CMakeLists.txt aec8360
plugins/projectmanagerview/kdevprojectmanagerview.desktop 542e088
plugins/projectmanagerview/kdevprojectmanagerview.desktop.cmake PRE-CREATION
plugins/quickopen/CMakeLists.txt b2b3f30
plugins/quickopen/kdevquickopen.desktop 8a4be70
plugins/quickopen/kdevquickopen.desktop.cmake PRE-CREATION
plugins/reviewboard/CMakeLists.txt 89892f7
plugins/reviewboard/kdevreviewboard.desktop 7a83544
plugins/reviewboard/kdevreviewboard.desktop.cmake PRE-CREATION
plugins/snippet/CMakeLists.txt 04433b5
plugins/snippet/kdevsnippet.desktop 5d2002a
plugins/snippet/kdevsnippet.desktop.cmake PRE-CREATION
plugins/standardoutputview/CMakeLists.txt ba8d434
plugins/standardoutputview/kdevstandardoutputview.desktop 8331422
plugins/standardoutputview/kdevstandardoutputview.desktop.cmake PRE-CREATION
plugins/subversion/CMakeLists.txt f74a45f
plugins/subversion/kdevsubversion.desktop e63068f
plugins/subversion/kdevsubversion.desktop.cmake PRE-CREATION
plugins/switchtobuddy/CMakeLists.txt 795b5ed
plugins/switchtobuddy/kdevswitchtobuddy.desktop 7d5f59f
plugins/switchtobuddy/kdevswitchtobuddy.desktop.cmake PRE-CREATION
plugins/templatemanager/CMakeLists.txt cc3ea92
plugins/templatemanager/kdevtemplatemanager_config.desktop 8d126dc
plugins/templatemanager/kdevtemplatemanager_config.desktop.cmake PRE-CREATION
plugins/testview/CMakeLists.txt 5307d7f
plugins/testview/kdevtestview.desktop 5980536
plugins/testview/kdevtestview.desktop.cmake PRE-CREATION
plugins/vcschangesview/CMakeLists.txt a284b28
plugins/vcschangesview/kdevvcschangesview.desktop 41646c6
plugins/vcschangesview/kdevvcschangesview.desktop.cmake PRE-CREATION
shell/kross/kdevkrossplugin.desktop ddb8e9c
shell/kross/kdevkrossplugin.desktop.cmake PRE-CREATION
shell/plugincontroller.cpp 009228b
Diff: http://git.reviewboard.kde.org/r/109315/diff/
Testing
-------
The installed desktop files look the same as they used to.
Thanks,
Aleix Pol Gonzalez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20130307/ea96daf2/attachment-0001.html>
More information about the KDevelop-devel
mailing list