Skip to main content
summaryrefslogtreecommitdiffstats
blob: 6645ab232389617cf2d3264b4dcc410186e6eb50 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>

<HEAD>
<TITLE>Understanding Versions (Version Management Tool Documentation)</TITLE>

<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Understanding Versions (Version Management Tool Documentation)";
    }
}
</SCRIPT>
<NOSCRIPT></NOSCRIPT>
</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<!-- <div class="help_breadcrumbs"><a href="../Overview.html" title="Version Management Tool Documentation">Version Management Tool Documentation</a> > <a href="index.html" title="Category in Version Management Tool Documentation">Version Management</a></div> -->

<table border="0">
	<tr>
		<td width="100%"><h1>Understanding Versions</h1></td>
		<td align="right" valign="middle" nowrap><a href="index.html" title="Backward to Version Management"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="setup/index.html" title="Forward to Setting Up Version Managment"><img src="../../images/forward.png" border="0"></a></td>
	</tr>
</table>
<p class="author">Author: Eike Stepper</p>
<p>
 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 <a href="http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf">semantic significance</a>,
 i.e., when a bundle introduces breaking API changes, the <a href="http://wiki.eclipse.org/Version_Numbering#When_to_change_the_major_segment">major segment</a> of its version must be incremented.
 The <a href="http://wiki.eclipse.org/PDE/API_Tools/User_Guide">PDE API Tools<a/> provide excellent support
 for managing the major segment and the <a href="<a href="http://wiki.eclipse.org/Version_Numbering#When_to_change_the_minor_segment">minor segment</a> of the version.
 Unfortunately there's nothing to help manage the <a href="http://wiki.eclipse.org/Version_Numbering#When_to_change_the_micro">micro segment</a>, also referred to as the service segment;
 its correct management is <a href="http://wiki.eclipse.org/Version_Numbering#Overall_example">quite complex</a>.
 This is where the Version Management Tool, also referred to as the version manager, helps fill the void.
 Note that managing the <a href="http://wiki.eclipse.org/Version_Numbering#When_to_change_the_qualifier_segment">qualifier segment</a> is not problematic
 because the PDE has adopted the convention of using the value <code>"qualifier"</code> 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 <code>".qualifier"</code> convention.
 </p
 <p>
 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 <code>"qualifier"</code> 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.
 </p>

<p align="right">
<a href="index.html" title="Backward to Version Management"><img src="../../images/backward.png" border="0"></a>&nbsp;<a href="setup/index.html" title="Forward to Setting Up Version Managment"><img src="../../images/forward.png" border="0"></a></p>
<HR>
<i>Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.</i>
</BODY>
</HTML>

Back to the top