use cmake to support kdevelop plugin versioning
aleixpol at kde.org
Sun Jul 18 21:18:15 UTC 2010
On Sun, Jul 18, 2010 at 7:28 PM, Andreas Pakulat <apaku at gmx.de> wrote:
> On 18.07.10 16:10:52, Julian Bäume wrote:
> > I thought about a better way handling the plugin-version entry in the
> > 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
> > also trigger API-changes to be applied, since during rebuilding, the
> > with incompatible API won't compile.
> > In kdevplaform, there is a script to update the desktop files. I've
> > some cmake scripts to handle this automatically during configure-time.
> > 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
> > plugin version as a cmake variable from the FindKDevPlatform.cmake file,
> > 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
> "SOMEONE ELSE."
> KDevelop-devel mailing list
> KDevelop-devel at kdevelop.org
I was about to write something similar.
We wouldn't win that much anyway.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the KDevelop-devel