use cmake to support kdevelop plugin versioning
apaku at gmx.de
Sun Jul 18 17:28:13 UTC 2010
On 18.07.10 16:10:52, Julian Bäume wrote:
> I thought about a better way handling the plugin-version entry in the desktop
> files. In my understanding, this version string is used to force a rebuild of
> each plugin after some binary-incompatible change has been made. This will
> also trigger API-changes to be applied, since during rebuilding, the plugins
> with incompatible API won't compile.
> In kdevplaform, there is a script to update the desktop files. I've created
> some cmake scripts to handle this automatically during configure-time. For
> now, I am getting the version string out of the
> kdevplatform/interfaces/iplugin.h file into a cmake variable and after that I
> use cmake's configure_files function to generate the desktop files. The
> parsing of iplugin.h seems a bit hackish to me, so I'd propose to export the
> plugin version as a cmake variable from the FindKDevPlatform.cmake file, that
> gets installed along with the other development files.
Personally I disagree with that, the version number shouldn't be changed
in the .desktop files automatically. This should always be a manual
action that the repsonsible developer of the plugin should do.
Increasing the plugin version may also be done as part of a behavioural
change (where the API stays the same) and in such cases you really don't
want plugins that haven't been adjusted loaded into a running app as it
may cause undefined behaviour.
The plugin version declares a dependency of the plugin onto a specific
runtime version of kdevelop/kdevplatform and hence this dependency
shouldn't be automatically generated.
You learn to write as if to someone else because NEXT YEAR YOU WILL BE
More information about the KDevelop-devel