You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Thomas Neidhart (JIRA)" <ji...@apache.org> on 2015/03/19 23:23:38 UTC

[jira] [Created] (EMAIL-152) Make javamail implementation dependency optional

Thomas Neidhart created EMAIL-152:
-------------------------------------

             Summary: Make javamail implementation dependency optional
                 Key: EMAIL-152
                 URL: https://issues.apache.org/jira/browse/EMAIL-152
             Project: Commons Email
          Issue Type: Improvement
    Affects Versions: 1.3
            Reporter: Thomas Neidhart
             Fix For: 1.4


Currently, commons-email has a transitive dependency to the reference implementation of javamail.

This can lead to problems when trying to use another implementation (e.g. geronimo or gnu) at runtime, as one has to exclude dependencies.

So I propose to change the dependencies as follows:

 * use an optional compile time dependency to the latest javamail api:

{noformat}
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <version>1.5.2</version>
            <scope>compile</scope>
            <optional>true</optional>
        </dependency>
{noformat}

 * add an optional runtime dependency to the javamail reference impl

{noformat}
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <version>1.5.2</version>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
{noformat}

that way both dependencies are not transitive, thus project including commons-email have the opportunity to chose their javamail implementation.

geronimo implementation:
{noformat}
        <dependency>
            <groupId>org.apache.geronimo.javamail</groupId>
            <artifactId>geronimo-javamail_1.4_mail</artifactId>
            <version>1.8.3</version>
        </dependency>
{noformat}

or the oracle reference impl, as outlined above.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)