Skip to content
This repository has been archived by the owner on Jul 12, 2024. It is now read-only.

Manifest Metadata

Darryl Miles edited this page Jun 2, 2014 · 11 revisions

This document seeks to explain and document all Gravia specific META-INF/MANIFEST.MF metadata and the usage and meaning.

At least one of the headers Gravia-Enabled or Gravia-Identity must exist in the MANIFEST.MF for the Gravia subsystem to interpret the deployment as being Gravia aware.

It is also possible for runtime implementations to make any arbitrary JAR available to other modules by building the relevant metadata from other information, the code (classes) inside the JAR itself does not have to directly interact with any Gravia API to participate as a module that other client modules can consume.

Gravia-Enabled:

The value is expected to be the boolean value true. This allows the module to indicate it is Gravia aware without needing to provide a Gravia-Identity header.

This header is considered to be deprecated. [FIXME explain why, and how things changed over time in respect of it]

Gravia-Identity:

The value is expected to be an arbitrary string, it is recommended that it be based on java namespace naming conventions. The version information is recommended to be provided but not mandatory.

Example value Gravia-Identity: com.domain.myproject;version=1.0.0

The version numbers are expected to confirm to OSGi version value rules.

If this header is not present, and module is deemed to be Gravia aware, the Gravia subsystem will compute a default identity label based on the standard OSGi headers, Bundle-SymbollicName and Bundle-Version.

Gravia-IdentityRequirement:

Gravia-Capability:

Gravia-Requirement:

Module-Activator:

The value of this header is set to a fully qualified class name of a concrete class found inside the Gravia module's direct classpath. This class must implement the org.jboss.gravia.runtime.ModuleActivator interface. See JavaDoc for more information.

This interface is exposed in the Maven artefact org.jboss.gravia:gravia-runtime-api, ensure to include this dependency in your project with the scope set to provded since it is expected for the Gravia runtime to already provide this dependency during deployment (and it never be provided in the deployed form of your project) :

<dependency>
 <groupId>org.jboss.gravia</groupId>
 <artifactId>gravia-runtime-api</artifactId>
 <version>X.Y.Z</version><!-- FIX version -->
 <scope>provided</scope>
</dependency>

Check the latest SNAPSHOT version here: http://snapshots.jboss.org/maven2/org/jboss/gravia/gravia-runtime-api/

Check the latest RELEASE version here http://repository.jboss.org/org/jboss/gravia/gravia-runtime-api/ A release does not exist at this time Jun 2014

The project is not available in Maven Central at this time (Jun 2014).