These are all questions about Maven, the dependency management / build system used by many Java developers, on top of which leiningen is built.
1. The sources are publicly accessible maven repositories, of which clojars is one. When running 'lein deps', you can see the repositories that leiningen is checking for artifacts. You can also specify additional repositories in your project.clj with the :repositories option. 2. 'org.clojure' is the group id, and 'clojure 1.2.0' is the artifact id. This becomes clearer when viewing Maven's .pom xml files. 3. Version numbers are referenced all over the place. I will often search mvnrepository.com if I am looking for available versions of Java packages, or clojars.org for clojure packages. On Fri, Feb 4, 2011 at 11:30 AM, Conrad <drc...@gmail.com> wrote: > Hi everyone: Even though I'm an intermediate clojure user, I realize > there's some basic things I just don't understand about JARs and > Leiningen. It seems to me the answers to these questions would make > great additions to the Leiningen FAQ (unless I'm the only one > boneheaded enough not to be able to figure this stuff out on my > own :-) > > 1. What are the sources used for Leiningen JARs? Clearly, clojars.org > is one of the sources, but it is able to also pull in jars not on > clojars (such as "org.clojure/clojure 1.2.0") and I can't figure out > how it decides where these are pulled from (admittedly, I haven't read > the lein source, but it seems there should be documentation on this > basic info somewhere without needing to study the source.) > > 2. Maybe the fact that "org.clojure" appears in this package name > means "retrieve this package from the site clojure.org". However, > clojure is maintained at github, I don't understand why we'd want to > pull anything from clojure.org. Is this JAR stored at clojure.org just > as a static file in the root of the site or something? How would I > know this file exists and that I can reference it? > > 3. What is the correct way to know what version numbers to use when > referencing JARs for Leiningen? For instance, how would I find know > that I can use the JAR "org.clojure/clojure 1.2.0" but cant use the > JAR "org.clojure/clojure 1.4.0"? How do I know when to append > "SNAPSHOT" to the name? I mean, I know that "SNAPSHOT" basically means > this is a branch under active development and not stable, but where > can I find out what stable and snapshot versions of particular JARs > are available? (I'm aware that clojars.org has a search feature, but > surely that can't be the whole answer...) > > Thanks for any clarification on these questions- I hope the answers > aren't so simple that I'll feel foolish for asking these things in the > first place :-) > > -- > 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<clojure%2bunsubscr...@googlegroups.com> > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- 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