geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick McGuire <>
Subject Javamail OSGi definitions
Date Wed, 30 Jul 2008 15:14:19 GMT
I was looking at the OSGi information that's used for the javamail jars, 
and it appears to be currently incomplete, and possibly even incorrect, 
if I'm interpreting the information correct. 

Javamail is split between a spec component, which is in the Geronimo 
specs tree, and a provider component that has its own source tree and 
build.  The specs component builds a specs jar.  The javamail component 
builds a provider jar (which has a dependency on the specs jar) and a 
mail uber-jar that merges the spec and provider jars into a single jar 

Currently, only the javamail specs is building with OSGi information in 
the manifest.  Here is the manifest from the jar file: 

Manifest-Version: 1.0
Built-By: Rick McGuire
Created-By: Apache Maven Bundle Plugin
Import-Package: javax.activation,javax.mail;version="1.4",javax.mail.e
Bnd-LastModified: 1214586504570
Bundle-Version: 1.4.0.SNAPSHOT
Bundle-Name: geronimo-javamail_1.4_spec
Bundle-Description: Javamail 1.4 Specification
Build-Jdk: 1.5.0_11
Private-Package: org.apache.geronimo.mail.handlers;version="1.4-SNAPSH
Bundle-ManifestVersion: 2
Bundle-Vendor: The Apache Software Foundation
Bundle-SymbolicName: org.apache.geronimo.specs.geronimo-javamail_1.4_s
Implementation-Title: Apache Geronimo
Tool: Bnd-0.0.227
Implementation-Version: 1.4-SNAPSHOT

The classes in org.apache.geronimo.mail.handlers and 
org.apache.geronimo.mail.util are defined as Private-Package.  I'm not 
sure this is correct, since the Providers jar file uses those classes.  
The merged uber-jar can probably make these private, but I think the 
provider requirement would not allow this.  Am I correct here?

Neither the javamail provider jar or mail uber-jar have any OSGi bundle 
information.  I suspect it needs to be added, since any application that 
wishes to use javamail for more than just the javax.mail.* classes 
(e.g., to send mail) would need to pull in either the provider bundle or 
the mail uber jar bundle. 

I'd like to take a stab at fixing this, but I'm not really what the 
requirements are for the OSGi enablement.  Do we have a documented set 
of instructions anywhere?


View raw message