David Blevins wrote:

On Feb 8, 2006, at 2:35 PM, Rick McGuire wrote:

David Blevins wrote:
At first blush it looks like there are just three util classes that make the javamail-transport module dependent on our specific javamail implementation.

    [javac] import org.apache.geronimo.mail.util.Hex;
    [javac] import org.apache.geronimo.mail.util.Base64;
    [javac] import org.apache.geronimo.mail.util.XText

Is this the case or are there other things that make our javamail-transport module dependent on our specific javamail implementation?
I believe there are a few package-scope methods defined on some of the javax.mail.* classes that also introduce some dependencies (note that the Sun impl also appears to do that in some places).

I placed those classes in the javamail jar rather than the javamail-transport module because the implementation of the MimeUtility class will also need the same converters.


Do you think it makes much sense to try and keep them separate? Or are they too coupled already to be worth it?

It's kind of a PITA to have to have a tight (i.e. snapshot) dependency on a spec project. But obviously javamail is a mess and it may just be too hard.
I'm starting to think it was a mistake to have javamail-transport be a separate jar file from the spec code. In the Sun case, all of the code is in a single jar, so you only need the javamail jar and the activation jar to use it. Because of our current split, we require 3 jars. It might make sense to move the transport/store code into the spec jar since they are so tightly coupled.

Rick


-David




Reply via email to