Takahiro <fat...@googlemail.com> writes:

> http://imgur.com/5NCEW
> Is any procedure needed?
> I've tried 1.3.4 with clojure 1.2.1/1.3.0 and Emacs 23.3.
> My .emacs.el includes only load-path and marmalade settings.
>
>>> including [ring "1.0.1"] in my project.clj, which uses clj-stacktrace
>>> 0.2.2 instead of 0.2.4.
>> This is actually already mentioned, but I'll try to make it clearer. Do
>> you think this is good?
> I think ring should specify dependency using version range like below.
> [clj-stacktrace "[0.2.2,)"] ;; 0.2.2 <= x
>
> http://docs.codehaus.org/display/MAVEN/Dependency+Mediation+and+Conflict+Resolution
> I didn't know it until recently, but now I think wherever possible
> every library should specify version with it.

There are lots of problems with version ranges, but this would be a bad
idea for Ring specifically because it would allow backwards-incompatible
versions to be pulled in when a new breaking clj-stacktrace version is
released. Specifying a range with an upper bound is slightly better, but
it will prevent ring from working with newer versions that are
compatible but don't exist at the time of ring's release since ranged
version numbers are absolute and Maven will refuse to resolve two
non-overlapping ranges in the same build.

I used to think more people should use version ranges, but I recently
discovered these issues and now recommend against their use entirely.

-Phil

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to