The Source for Java Technology Collaboration


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.

Topic UpdateCenterModuleDependencies . { Edit | Ref-By | Printable | Diffs r3 < r2 < r1 | More }
 XML java.net RSS

Revision r3 - 16 Jan 2007 - 09:44:50 - Main.rp100353
Parents: WebHome > Updatecenter