The Contribution Manifest

The SCA manifest file contains contribution metadata used during deployment. The manifest file is used to specify:

  • A description
  • Deployable composites
  • Import and export directives
  • Extension points
  • Required capabilities
  • Native libraries
  • Excluded files

The following is an example manifest defining one composite to deploy:

 

<contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:f3="urn:fabric3.org" xmlns:sample="urn:tempuri.org" 
 description="A sample contribution">
   <deployable composite="sample:TheComposite"/>
</contribution>

Description

A description may optionally be specified using the description attribute on the contribution element.

Deployable Composites

Deployable composites are those composites that are contained in the contribution which are to be deployed to a domain. A contribution may contain other composites but if they are not marked as deployable, they may not be directly included in the domain (i.e. they may only be used by a deployable composite). Deployable composites are specified using the deployable element.

Import and Export Directives

Import and export directives are used to share artifacts such as Java packages and XML documents across contributions. Imports and Exports are similar to the analogous OSGi directives (for Java packages they work exactly the same) except they extend beyond Java artifacts. For more details, see Contribution Modularity

Extension Points

Required Capabilities

Native Libraries

Excluded Files

Sometimes it is necessary to exclude contents of a contribution from being scanned. For example, generated XML files that contain invalid markup. Exclude patters can be specified using the <scan> element from the Fabric3 namespace in an sca-contribution.xml manifest with a REGEX pattern:

<contribution ....>
   <f3:scan exclude=".*\.ds\.xml"/>
</contribution>