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

Reply via email to