Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Eclipse Platform Plug-in Development Environment Guide
Previous Page Home Next Page

Using Version Qualifiers

Eclipse bundles and features have version numbers of the form major.minor.micro.qualifier.  The qualifier segment of the version is often used to indicated a specific build.  If you set your feature or plug-in version qualifier to "qualifier" (i.e. a version of 1.0.0.qualifier), then PDE build will automatically replace the word "qualifier" with a generated qualifier.

Controlling the Generated Qualifier

A feature or plug-in can control its qualifier by setting the property " qualifier " in its file. There are are a couple of different cases for the value of this property:

qualifier = none Sets the qualifier to be empty. (i.e. "1.2.3.qualifier" becomes "1.2.3")
qualifier = context Sets the qualifier to be the context qualifier. See below for the value of the context qualifier.
not set If the "qualifier" property is not set, this is equivalent to setting qualifier = context.
qualifier = v12345 Any other value sets the qualifier to be that value.

The Context Qualifier

The value of the generated context qualifier is determined by the first of the following items that apply:
  1. If the property forceContextQualifier is set in your builder's configuration file,  then the value of this property is used as the qualifier.  This property can also be set on the command line with -D when invoking ant.
    • When exporting from the UI, forceContextQualifier is set according to the "Qualifier replacement" value on the options tab of the "Deployable plug-ins and fragments" export wizard.
  2. If you are using map files to fetch your bundles from a repository, then the tag that was used to fetch the bundle will be used as the qualifier.
  3. If neither forceContextQualifier nor map files are used, then the qualifier will be a time stamp in the form YYYYMMDDHHMM (i.e. 200605121600)

Feature Version Suffixes

You can turn on the generation of qualifier suffixes for features by setting the property generateFeatureVersionSuffix=true in the build configuration file.

The idea of a version is that it should increment each time something changes, the version qualifier increments and captures changes from build to build.  Features rarely change, however, they do contain plug-ins which may change often.  When version suffixes are turned on, a feature version will have the form major.minor.micro.qualifier-suffix.   The suffix is in effect the sum of the version qualifiers of all the features and plug-ins included by the feature.  This means that when one of the included plug-ins increments its version, then the version of the feature will automatically increment as well.  This is particularly useful when the feature is deployed via an update site.

Final Versions

Occasionally there may be custom build steps that may require the actual final version used in the build.  When the property generateVersionsLists is set, PDE Build will generate properties files containing the versions of the features and plug-ins that were built.  These properties files can be loaded using the ant property task.

The files are named:, finalPluginsVersions.<config>.properties,, and  finalFeaturesVersions.<config>.properties. and contain the versions for all of the plug-ins and features that were built.  The <config> properties files contain the versions of plug-ins and features for specific build configurations.

The properties in these files have the form:

    <bundleSymbolicName> = <version>
    <bundleSymbolicName>_<first 3 segments of version> = <version>
If more than one versions of a plug-in or feature exists, then <bundleSymbolicName>=<version> refers to the plug-in or feature with the highest version.

Example: = 3.3.0.v20070524

  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire