Version Management Tool Documentation > Version Management

Understanding Versions


Author: Eike Stepper

Eclipse plug-ins and features are uniquely identified by their OSGi-based bundle ID and version. The PDE tools validate that each is well formed, but there's more to it than that. The version has semantic significance, i.e., when a bundle introduces breaking API changes, the major segment of its version must be incremented. The PDE API Tools provide excellent support for managing the major segment and the minor segment of the version. Unfortunately there's nothing to help manage the micro segment, also referred to as the service segment; its correct management is quite complex. This is where the Version Management Tool, also referred to as the version manager, helps fill the void. Note that managing the qualifier segment is not problematic because the PDE has adopted the convention of using the value "qualifier" to specify that the qualifier segment be computed and substituted at build/publish/export time. Even in this regard though, the version manager helps by detecting when bundles aren't properly using ".qualifier" convention.

The most important aspect of the version manager is to help manage semantic versions for plug-ins and features. It goes well beyond that task by providing an assortment of checks to detect when proper plug-in and feature conventions are violated. We've already mentioned one such example, i.e., a bundle's ID should use "qualifier" as the qualifier segment, but there are many more such checks. The version manager strives to provide quick fixes to easily whip your bundles into the proper shape, along with the ability to disable warnings for style guideline violations you don't wish to respect.


Copyright (c) 2011, 2012 Eike Stepper (Berlin, Germany) and others.