maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Burrell Donkin (JIRA)" <>
Subject [jira] Commented: (MEV-392) bad dependencies in commons-logging-1.1.pom
Date Thu, 01 Jun 2006 16:58:43 GMT
    [ ] 

Robert Burrell Donkin commented on MEV-392:

IMO the right way to approach JCL (in dependency terms) is as a virtual dependency. 

To eleborate, when the majority of projects declare a dependency on JCL they don't actually
care what implementation of the API they use, just that an implementation of the API is provided.
The actual API itself (as opposed to the jar) has no difficult dependencies. Any artifact
providing a binary compatible implementation (commons-logging.jar, commons-logging-api.jar,
commons-logging-adapters.jar, no-commons-logging.jar or slf4j.jar) could be used to satifsy
this dependency.

In other words, JCL is best managed as a standard. In the same way that an library with a
dependency on JMX could have that dependecy satisfied by any implementation library.

Most packaging systems in the *nix word can cope with virtual dependencies. IMHO sooner or
later maven will need to too.

If maven can't handle virtual dependencies well ATM, it would probably be best to make every
dependency optional in the Maven2 POM. 

> bad dependencies in commons-logging-1.1.pom
> -------------------------------------------
>          Key: MEV-392
>          URL:
>      Project: Maven Evangelism
>         Type: Bug

>   Components: Dependencies
>     Reporter: Olivier Lamy

> Hi,
> I have trouble concerning dependencies in commons-logging 1.1
>     <dependency>
>       <groupId>javax.servlet</groupId>
>       <artifactId>servlet-api</artifactId>
>       <version>2.3</version>
>     </dependency>
> scope must be provided
>     <dependency>
>       <groupId>avalon-framework</groupId>
>       <artifactId>avalon-framework</artifactId>
>       <version>4.1.3</version>
>     </dependency>
> as 1.0.4 scope must be optionnal
>     <dependency>
>       <groupId>logkit</groupId>
>       <artifactId>logkit</artifactId>
>       <version>1.0.1</version>
>     </dependency>
> as 1.0.4 scope must be optionnal

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message