Update Center module can define its dependencies on various different components.These various different component dependencies are defined using the following
sub-elements of Manifest element of the given Module.
-
OpenIDE-Module-Module-Dependencies - List of modules required by the module
-
OpenIDE-Module-Package-Dependencies - List external jar packages required by the module
-
OpenIDE-Module-Java-Dependencies - List of JDK/JRE jars required by the module
-
OpenIDE-Module-IDE-Dependencies - List of IDE jars required by the module
These are all optional elements.Using each of these elements module can define one or more dependencies separated by a comma. For simplicity we are always using
only one dependency in the examples below. OpenIDE-Module-IDE-Dependencies is to make Update Center compatible with Netbeans catalog.
OpenIDE-Module-Module-Dependencies
Module Dependencies are specified using OpenIDE-Module-Module-Dependencies. Module can depend on multiple other modules but at most
one dependency can be specified between any two given modules. Various different types of dependencies are expressed using various different semantics.
Different types of module dependencies that can be expressed are as follows:
Dependency on any version of module
Dependency on any version of the module can be specified by using the module name.
We are referring to module codename here and not the display name. Module codename is used
by Update Center to distinctly identify a given module.
Dependency on any version can be expressed as-
OpenIDE-Module-Module-Dependencies="com.sun.enterprise.update.test.ExampleModule"
Here we are specifying dependency on any version of ExampleModule.
Dependency on a specific version of a module.
To specify dependency on specific version, implementation version is used.
Dependency on specific implementation version can be expressed as-
OpenIDE-Module-Module-Dependencies="com.sun.enterprise.update.ExampleModule = 200612311155"
Here we are specifying dependency on implementation version "200612311155" of ExampleModule.
Implementation version is expressed as a free-form text.
Dependency on a version greater than the specified version.
Dependency on a version greater than certain specified version can be expressed using Specification version.
Specification version is used when specifying dependencies on backward compatible modules.
Specification version is expressed in Dewey-decimal numbers(e.g. 1.2.1) as specified by Package Versioning Specification.
Dependency on certain minimum specification version can be expressed as-
OpenIDE-Module-Module-Dependencies="com.sun.enterprise.update.ExampleModule > 2.0"
Here we are specifying dependency on ExampleModule whose specification version should be greater than 2.0.
This is the preferred form for module dependencies.
Release version can be used to address incompatible changes. Release version of module is an integral number and specified after
slash following the code base name of module. For example, com.sun.enterprise.update.ExampleModule/2.
If requesting a dependency on a module which has a release number, you must specify that release number
as part of the module name. Module dependencies that can be expressed using release numbers are explained below-
Dependency on release version of a module
Dependency on release version can be expressed as-
OpenIDE-Module-Module-Dependencies="com.sun.enterprise.update.ExampleModule/2"
Here we are specifying dependency on ExampleModule/2.
Dependency on release version range
Dependency on release version range can be expressed as-
OpenIDE-Module-Module-Dependencies="com.sun.enterprise.update.ExampleModule/2-4"
Here we are specifying dependency on ExampleModule/2 or ExampleModule/3 or ExampleModule/4.
Dependency on specific implementation of a release version
Dependency on specific implementation of a release version can be expressed as-
OpenIDE-Module-Module-Dependencies="com.sun.enterprise.update.ExampleModule/2 = 200612311155"
Here we are specifying dependency on implementation version "200612311155" of ExampleModule/2.
Dependency on release version with certain specification version
Dependency on release version with certain minimum specification version can be expressed as-
OpenIDE-Module-Module-Dependencies="com.sun.enterprise.update.ExampleModule/2 > 2.0"
Here we are specifying dependency on specification version 2.0 or greater of ExampleModule/2.
Dependency on release version range with certain specification version
Dependency on release version range with certain minimum specification version can be expressed as-
OpenIDE-Module-Module-Dependencies="com.sun.enterprise.update.ExampleModule/2-4 > 2.0"
Here we are specifying dependency on any of the following-
ExampleModule/2 with specification version 2.0 or greater
or
ExampleModule/3
or
ExampleModule/4.
Please not that specification verion is considered only in case of minimum release version specified.
Implementation version can not be specified with release version range.
|