commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niall Pemberton <>
Subject Re: commons-logging version 0.0.0-EMPTY
Date Thu, 21 May 2009 00:52:12 GMT
On Tue, May 19, 2009 at 1:03 PM, Ceki Gulcu <> wrote:
> Jörg Schaible wrote:
>>> Forgive me for asking, but were you aware of the above. And if you
>>> were, would you care to explain a scenario in mind which is troubling
>>> you?
>> First: The solution is perfect for a normal user i.e. somebody building an
>> application, not a library/framework. The problem starts when somebody
>> publishes some artifacts that explicitly depend on cl-0.0.0-EMPTY:
>> 1. Me building A, depending on B and C
>> 2. B depends on cl-0.0.0-EMPTY
>> 3. C depends on cl-1.1.1
>> According the definition above I get a ClassNotFoundException running A if
>> I
>> declare my dependencies in sequence B, C. Since both deps use CL and A
>> inherits it transitively at equal level, the first one wins => boom.
> You are correct. In defense of 0.0-EMPTY authors of libraries are not
> supposed to use use cl-0.0-EMPTY. Only end-users should use it. Any
> documentation for cl-0.0-EMPTY would need to emphasize that in bold
> and red print. Moreover, if you are an author of a library, if you
> don't want to use commons-logging, you can simply remove the
> dependency on commons-logging. You would not need cl-0.0-EMPTY at
> all. You would have use for cl-0.0-EMPTY if as an author of a library
> or framework with many dependencies (e.g. wicket, tapestry) you had a
> dependency which in turn depended on commons-logging, (and only if you
> were using Maven and SLF4J).
> Stern warnings in the documentation of version 0.0-EMPTY should goad
> authors of shared components away from 0.0-EMPTY. However, I agree
> with you that the risk of misuse of 0.0-EMPTY cannot be completely
> alleviated. It's a tough call to make.

So the alternative to releasing the version to the main maven repo is
to setup a one-off repo just containing this 0.0-EMPTY version of
logging and users who want to depend on it adding that repo to their
pom along with the 0.0-EMPTY dependency. Thats just a few extra lines
of XML and guarantees there can be no problem. I don't think we should
do this if theres a potential problem for commons-logging users that
don't want this hack and a simple and easy solution for those that do.


>> - Jörg
> --
> Ceki Gülcü
> Logback: The reliable, generic, fast and flexible logging framework for
> Java.
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message