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