[ http://jira.codehaus.org/browse/MEV-392?page=comments#action_66408 ] 

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: http://jira.codehaus.org/browse/MEV-392
>      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:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to