KDE Applications Versioning: Difference between revisions

From KDE Wiki Sandbox
No edit summary
No edit summary
Line 1: Line 1:
{{Construction}}
{{Construction}}


To ensure the applications contained in the KDE Applications releases are consistently versioned (if the maintainer of the application doesn't want to have an own versioning scheme), the release scripts will auto-update the following CMake variables if you have them defined in your toplevel CMakeLists.txt:
For applications that have no own release schedule beside the release with the KDE Applications releases,
it is often forgotten to increase the application version.
 
This can lead to confusing version numbers in the about dialog and lower the quality of the bugs reported,
as it is not clear which version is really affected.
 
To make this easier, the release scripts will auto-update the following CMake variables in the toplevel CMakeLists.txt of all applications bundled in the KDE Applications:


  # KDE Application Version, managed by release script
  # KDE Application Version, managed by release script
Line 8: Line 14:
  set (KDE_APPLICATIONS_VERSION_MICRO "0")
  set (KDE_APPLICATIONS_VERSION_MICRO "0")


You can then use them to e.g. define the version for your own application based on this.
You can then use them to define the version for your own application based on this.


For example Kate will do in its CMakeLists.txt:
For example Kate will do in its CMakeLists.txt:
Line 18: Line 24:
  #define KATE_VERSION "${KDE_APPLICATIONS_VERSION}"
  #define KATE_VERSION "${KDE_APPLICATIONS_VERSION}"


And then use this for the about data and co.
This is then passed to the KAboutData:


     /**
     /**

Revision as of 20:48, 12 July 2015

Under Construction
This is a new page, currently under construction!


For applications that have no own release schedule beside the release with the KDE Applications releases, it is often forgotten to increase the application version.

This can lead to confusing version numbers in the about dialog and lower the quality of the bugs reported, as it is not clear which version is really affected.

To make this easier, the release scripts will auto-update the following CMake variables in the toplevel CMakeLists.txt of all applications bundled in the KDE Applications:

# KDE Application Version, managed by release script
set (KDE_APPLICATIONS_VERSION_MAJOR "15")
set (KDE_APPLICATIONS_VERSION_MINOR "04")
set (KDE_APPLICATIONS_VERSION_MICRO "0")

You can then use them to define the version for your own application based on this.

For example Kate will do in its CMakeLists.txt:

set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}")

and then use this in the config.h.cmake:

#define KATE_VERSION "${KDE_APPLICATIONS_VERSION}"

This is then passed to the KAboutData:

   /**
    * construct about data for Kate
    */
   KAboutData aboutData(QStringLiteral("kate"), i18n("Kate"), QStringLiteral(KATE_VERSION),
                        i18n("Kate - Advanced Text Editor"), KAboutLicense::LGPL_V2,
                        i18n("(c) 2000-2014 The Kate Authors"), QString(), QStringLiteral("http://kate-editor.org"));