Hi, On Jan 22, 8:20 am, Richard Newman <holyg...@gmail.com> wrote:
> My code doesn't work on 1.1 or earlier. In maven specifying eg. 1.1 means "use whatever appropriate but prefer 1.1". Now you specify 1.2 and there is a conflict. By saying "use the newer version", 1.2 will be used. AOT compiled libraries should probably specify [1.1], which means only and only 1.1. > * How can I express a dependency in a published library for a library > which has not been published? Tough question. People will be annoyed > if I upload my own build of 1.2, then don't fix my POM when Clojure > 1.2 is officialy released. You can specify [1.2-SNAPSHOT,) as depedency. I *believe* this will work then also, when 1.2 is released. BTW: commit ids as version numbers break down here, because they are not ordered. > * What happens when someone else's code -- which explicitly specifies > Clojure 1.1 -- wants to use my library? If one uses AOT, you might get > some odd stack trace. If one does not use AOT, you get a compile > error. Much better solutions are "you get a warning", or "you can > specify a range of allowable versions, and the build software chooses > the right version". When the specification of your library is [1.2-SNAPSHOT,) and the other is [1.1] maven will complain, I would expect, before you run into strange compile errors. > This is a hard problem, and any dependency management system which > requires you to pick a single version of a dependency, when multiple > versions exist (and your code might work on more than one) is going to > hit it. I don't think "everybody has to upgrade at once" is a good > solution. Neither maven nor ivy are so simple-minded to allow only one version. How well ranges work out... I can't really know. I only know the theory for now. Sincerely Meikel -- 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