Open main menu

CDOT Wiki β

Changes

OSGi Concepts Bundles

550 bytes added, 09:35, 20 January 2011
no edit summary
# Indendification: '''Bundle-SymbolicName''' & '''Bundle-Version''' (Example: cs.ecl.osgi.simple.bookfinderservice & 1.0.0.qualifier)
# Capabilities: '''Export-Package''' (Example: cs.ecl.osgi.simple.bookfinderservice)
# Requirements: '''Import-Package ''' and/or '''Require-Bundle ''' (Example: org.osgi.framework;version="1.3.0")
# Anatomy: '''Bundle-ManifestVersion, Bundle-Name, Bundle-Activator, Bundle-RequiredExecutionEnvironment'''
Version identifier for bundles and packages could have four components.
version format ::= major('.'minor('.'micro('.'qualifier)))
The semantics for the version parts are therefore defined as [http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf]:
* ''micro'' - A difference in the micro part does not signal any backward compatibility issues. The micro number is used to fix bugs that do not affect either consumers or providers of the API.
* ''qualifier'' - The qualifier is usually used to indicate a build identity, for example a time stamp. Different qualifiers do not signal any backward compatibility issues.
 
Example:
Export-Package: cs.ecl.osgi.hello;version=1.2.3.201103030903
Import-Package: org.osgi.framework;version=“[1.2,2.0)”
 
A version range has a syntax based on the interval notation from mathematics:
range ::= ( ‘[’ | ‘(’ ) version ‘,’ version ( ‘)’ | ‘]’ )
 
Square brackets ( ‘[’ and ‘]’) indicate inclusive and parentheses (‘(’ and ‘)’) indicate exclusive.
For instance, [1.2,2.0) indicates the version range from version 1.2, including version 1.2, up to but not including version 2.0.