commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Neidhart (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (EMAIL-152) Make javamail implementation dependency optional
Date Thu, 19 Mar 2015 22:27:38 GMT

     [ https://issues.apache.org/jira/browse/EMAIL-152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Thomas Neidhart updated EMAIL-152:
----------------------------------
    Description: 
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.4.5</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.

  was:
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.


> 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.4.5</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)

Mime
View raw message