<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/109315/">http://git.reviewboard.kde.org/r/109315/</a>
     </td>
    </tr>
   </table>
   <br />




<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDevelop, Andreas Pakulat and Milian Wolff.</div>
<div>By Aleix Pol Gonzalez.</div>







<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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"</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The installed desktop files look the same as they used to.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>CMakeLists.txt <span style="color: grey">(d0bcfa7)</span></li>

 <li>interfaces/CMakeLists.txt <span style="color: grey">(5e83497)</span></li>

 <li>interfaces/iplugin.h <span style="color: grey">(3a30eda)</span></li>

 <li>interfaces/iplugincontroller.cpp <span style="color: grey">(d7e8764)</span></li>

 <li>plugins/appwizard/CMakeLists.txt <span style="color: grey">(26b0f4c)</span></li>

 <li>plugins/appwizard/kdevappwizard.desktop.cmake <span style="color: grey">(2ffcb12)</span></li>

 <li>plugins/classbrowser/CMakeLists.txt <span style="color: grey">(bfb1688)</span></li>

 <li>plugins/classbrowser/kdevclassbrowser.desktop.cmake <span style="color: grey">(5983d4b)</span></li>

 <li>plugins/codeutils/CMakeLists.txt <span style="color: grey">(3694060)</span></li>

 <li>plugins/codeutils/kdevcodeutils.desktop.cmake <span style="color: grey">(70a6b88)</span></li>

 <li>plugins/contextbrowser/CMakeLists.txt <span style="color: grey">(abf573a)</span></li>

 <li>plugins/contextbrowser/kdevcontextbrowser.desktop.cmake <span style="color: grey">(b8a0386)</span></li>

 <li>plugins/cvs/CMakeLists.txt <span style="color: grey">(150ff18)</span></li>

 <li>plugins/cvs/kdevcvs.desktop.cmake <span style="color: grey">(dd7939c)</span></li>

 <li>plugins/dashboard/CMakeLists.txt <span style="color: grey">(3ed5574)</span></li>

 <li>plugins/dashboard/kdevprojectdashboard.desktop.cmake <span style="color: grey">(28bf473)</span></li>

 <li>plugins/dashboard/plasmoids/projectfileplasmoid/CMakeLists.txt <span style="color: grey">(d3016d7)</span></li>

 <li>plugins/documentswitcher/CMakeLists.txt <span style="color: grey">(9312337)</span></li>

 <li>plugins/documentswitcher/kdevdocumentswitcher.desktop.cmake <span style="color: grey">(e45a9ef)</span></li>

 <li>plugins/documentview/CMakeLists.txt <span style="color: grey">(30fc272)</span></li>

 <li>plugins/documentview/kdevdocumentview.desktop.cmake <span style="color: grey">(5187c81)</span></li>

 <li>plugins/execute/CMakeLists.txt <span style="color: grey">(6c65936)</span></li>

 <li>plugins/execute/kdevexecute.desktop.cmake <span style="color: grey">(a71f502)</span></li>

 <li>plugins/executescript/CMakeLists.txt <span style="color: grey">(2b90327)</span></li>

 <li>plugins/executescript/kdevexecutescript.desktop.cmake <span style="color: grey">(83fd95d)</span></li>

 <li>plugins/externalscript/CMakeLists.txt <span style="color: grey">(c8f2f73)</span></li>

 <li>plugins/externalscript/kdevexternalscript.desktop.cmake <span style="color: grey">(cd97a2f)</span></li>

 <li>plugins/filemanager/CMakeLists.txt <span style="color: grey">(a6a6a9f)</span></li>

 <li>plugins/filemanager/kdevfilemanager.desktop.cmake <span style="color: grey">(6b94c5d)</span></li>

 <li>plugins/filetemplates/CMakeLists.txt <span style="color: grey">(77b3be7)</span></li>

 <li>plugins/filetemplates/kdevfiletemplates.desktop.cmake <span style="color: grey">(7d1434f)</span></li>

 <li>plugins/genericprojectmanager/CMakeLists.txt <span style="color: grey">(b081a1b)</span></li>

 <li>plugins/genericprojectmanager/kdevgenericmanager.desktop.cmake <span style="color: grey">(8712aab)</span></li>

 <li>plugins/git/CMakeLists.txt <span style="color: grey">(f2bf0f1)</span></li>

 <li>plugins/git/kdevgit.desktop.cmake <span style="color: grey">(e1aceff)</span></li>

 <li>plugins/grepview/CMakeLists.txt <span style="color: grey">(f9e87af)</span></li>

 <li>plugins/grepview/kdevgrepview.desktop.cmake <span style="color: grey">(ec085ef)</span></li>

 <li>plugins/konsole/CMakeLists.txt <span style="color: grey">(034b4a2)</span></li>

 <li>plugins/konsole/kdevkonsoleview.desktop.cmake <span style="color: grey">(1778364)</span></li>

 <li>plugins/openwith/CMakeLists.txt <span style="color: grey">(3217702)</span></li>

 <li>plugins/openwith/kdevopenwith.desktop.cmake <span style="color: grey">(b484570)</span></li>

 <li>plugins/pastebin/CMakeLists.txt <span style="color: grey">(c9fe952)</span></li>

 <li>plugins/pastebin/kdevpastebin.desktop.cmake <span style="color: grey">(a25f638)</span></li>

 <li>plugins/patchreview/CMakeLists.txt <span style="color: grey">(8bedb83)</span></li>

 <li>plugins/patchreview/kdevpatchreview.desktop.cmake <span style="color: grey">(3380d21)</span></li>

 <li>plugins/problemreporter/CMakeLists.txt <span style="color: grey">(89b197d)</span></li>

 <li>plugins/problemreporter/kdevproblemreporter.desktop.cmake <span style="color: grey">(c20f0d2)</span></li>

 <li>plugins/projectmanagerview/CMakeLists.txt <span style="color: grey">(aec8360)</span></li>

 <li>plugins/projectmanagerview/kdevprojectmanagerview.desktop.cmake <span style="color: grey">(542e088)</span></li>

 <li>plugins/quickopen/CMakeLists.txt <span style="color: grey">(b2b3f30)</span></li>

 <li>plugins/quickopen/kdevquickopen.desktop.cmake <span style="color: grey">(8a4be70)</span></li>

 <li>plugins/reviewboard/CMakeLists.txt <span style="color: grey">(89892f7)</span></li>

 <li>plugins/reviewboard/kdevreviewboard.desktop.cmake <span style="color: grey">(7a83544)</span></li>

 <li>plugins/snippet/CMakeLists.txt <span style="color: grey">(04433b5)</span></li>

 <li>plugins/snippet/kdevsnippet.desktop.cmake <span style="color: grey">(5d2002a)</span></li>

 <li>plugins/standardoutputview/CMakeLists.txt <span style="color: grey">(ba8d434)</span></li>

 <li>plugins/standardoutputview/kdevstandardoutputview.desktop.cmake <span style="color: grey">(8331422)</span></li>

 <li>plugins/subversion/CMakeLists.txt <span style="color: grey">(f74a45f)</span></li>

 <li>plugins/subversion/kdevsubversion.desktop.cmake <span style="color: grey">(e63068f)</span></li>

 <li>plugins/switchtobuddy/CMakeLists.txt <span style="color: grey">(795b5ed)</span></li>

 <li>plugins/switchtobuddy/kdevswitchtobuddy.desktop.cmake <span style="color: grey">(7d5f59f)</span></li>

 <li>plugins/templatemanager/CMakeLists.txt <span style="color: grey">(cc3ea92)</span></li>

 <li>plugins/testview/CMakeLists.txt <span style="color: grey">(5307d7f)</span></li>

 <li>plugins/testview/kdevtestview.desktop.cmake <span style="color: grey">(5980536)</span></li>

 <li>plugins/vcschangesview/CMakeLists.txt <span style="color: grey">(a284b28)</span></li>

 <li>plugins/vcschangesview/kdevvcschangesview.desktop.cmake <span style="color: grey">(41646c6)</span></li>

 <li>shell/kross/kdevkrossplugin.desktop.cmake <span style="color: grey">(ddb8e9c)</span></li>

 <li>shell/plugincontroller.cpp <span style="color: grey">(009228b)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/109315/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>




  </div>
 </body>
</html>