On Mon, Mar 04, 2013 at 06:01 -0800, Meikel Brandmeyer (kotarak) wrote: > Ok. So instead of the range I specify "[org.clojure/clojure "1.2"]". What does > that mean? Now I either excluded *all* clojure versions not= 1.2 or the > version > number doesn't mean anything. Then we should get rid of it completely and just > specify the dependency without it. (It seems there maven poms which do exactly > that? o.O) > > The range [1.2;1.5) means that the library was tested with 1.2 up to 1.4 and - > believing in semver - their patchlevel children. 1.5 (was at that time) not > released, yet. So compatibility couldn't be guaranteed. For me this is a > reasonable approach. Sure. It might work with 1.5. Everyone is free to place > an > exclusion to help the system resolve the conflict. But you must be aware you > might run into trouble. > > If I follow your approach I must provide 4 branches of a library which > basically consists of a single function: one branch per supported clojure > version (so far). This is ridiculous. Or - as I said - we let all hope go and > don't specify the version, only the dependency on the library itself. > > I see we have a different basic idea of what a version range should mean. For > me it's a promise that my library will work with the versions specified. If > one > wants to use a version outside the range, that *might* be ok, but one should > be > aware and pointed to that fact and the decision to do so should be explicit! > > I'm probably just a pessimist, while you are an optimist.
Exactly! Thank you for stating this so clearly. -- Wolodja <babi...@gmail.com> 4096R/CAF14EFC 081C B7CD FF04 2BA9 94EA 36B2 8B7F 7D30 CAF1 4EFC
signature.asc
Description: Digital signature