The manifest file describes the pipe and the extension it is part of, as well as providing implementation, bundle, classpath, and service component information.
Most importantly, it lists which services to start and the packages you must import that will be used by the classes within the bundle that are external to the JAR. You must list every required package and ensure that the names are entered correctly or your pipe will not work.
Note: A manifest file can describe multiple pipes. You only need a single manifest file for your entire JAR. You need one manifest file for each bundle you deploy.
To create the manifest file:
1. Create a new plain text file called MANIFEST.MF or open an existing manifest file and save it in your extension’s META-INF directory.
2. Define the manifest file. This includes:
* Manifest-Version – The version of the manifest.
* Archiver-Version – The name and version of the archiver application.
* Created-By – The Java™ project build manager application.
* Built-By – The author of the plugin.
* Build-Jdk – The version of the JDK.
For example:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: Donovan VanderLindell
Build-Jdk: 1.5.0
3. Define the name of the extension that contains this pipe. By convention, this should match the filename.
For example: Extension-Name: integrator.solution.pdm6.sample or Extension-Name: integrator.customsolution.impl.
4. Define the title and vendor of the extension.
For example:
Specification-Title: Workplace Forms Server Platform Solution
for PDM 6.0 Sample
Specification-Vendor: IBM
5. Define the vendor, file name, and version of the extension implementation. The Implementation-Title must be the same as the Extension Name.
For example:
Implementation-Vendor: IBM
Implementation-Title: service.platform.solution.pdm6.samp le
Implementation-Version: 2.7.0
6. Declare the bundle version.
For example:
Bundle-Version: 2.7.0
7. Declare the service component. This must be the full path to the pipe’s activator file. If the bundle this manifest describes contains multiple pipes, use a comma separated list to define each activator.xml file.
For example:
Service-Component: OSGI-INF/LoadFormPipeActivator.xml
8. Declare the bundle’s manifest version and bundle vendor.
For example:
Bundle-ManifestVersion: 2
Bundle-Vendor: IBM
9. List the packages that the pipe requires. If your bundle contains multiple pipes, ensure that you list all the packages required by all your pipes.
You must always add the following packages.
Import-Package: com.ibm.form.platform.base.pipes,
com.ibm.form.platform.service.form,
com.ibm.form.platform.service.frame work.exception,
com.ibm.form.platform.service.pipes ,
org.apache.commons.logging
Add additional, comma-separated packages as necessary.
Note: You do not have to add java.* to this import list because it is always implied.
10. Define the name of the pipeline bundle. This must be the same as the extension name and implementation title.
For example:
Bundle-Name: service.platform.solution.pdm6.samp le
11. Define the bundle classpath.
Normally, this is:
Bundle-Classpath: .
However, if you want to embed another JAR inside your bundle JAR, you need to add the embedded JAR name to this entry.
For example:
Bundle-Classpath: .,mail.jar
12. Describe the pipeline bundle. This entry is typically the same as the specification title.
For example:
Bundle-Description: Workplace Forms 2.7 Integrator for WebSphere
Portal 6.0 Document Manager
13. Define the bundle’s symbolic name. This must be the sa
Answered by
Ajay Pal
, an ibibo Master,
at
6:55 AM on May 16, 2008