I'm confused. Why do we need symlinks or copies at all? Why can't we just tell clojure where it's supposed to find a given projects dependencies? I'm sure the answer involves some mumbo-jumbo about classpath and what not, but surely there has to be a better alternative than whatever maven/leiningen are currently doing.
Granted, I'm coming at this from a common lisp background, but I think many lisp developers are used to not just working on a single project, but working on a bunch of related projects simultaneously, including the the language/runtime environment itself. I'd like a single instance of clojure, a single clojure-contrib (I still don't understand why I had to (admittedly seamlessly) download a bunch of jars to clean the build directory), a single incanter instance, etc... Perhaps I'm missing the obvious here, but I continue to fail to understand why the clojure world is doing things this way. On a related note, why is the build system the cool kids seem to be using (leiningen) controlled by a bunch of shell scripts? Surely things like compiling .clj source files and making jars should be operations one can drive from the clojure repl, no? Oh, and on a related note, I hate being forced into the src, test, lib heirarchy... Let me put my files where I want them to go. Whatever happened to the lancet build system from Stuart Holloway's book? That seemed to make sense to me. thanks, Cyrus On Mar 11, 2010, at 1:32 PM, Phil Hagelberg wrote: > On Wed, Mar 10, 2010 at 10:24 PM, Meikel Brandmeyer wrote: > On Mar > 11, 5:07 am, Brent Millare wrote: > >>> Since leiningen downloads everything to a local repo, can't we do away >>> with copies and use symlinks if they are supported by the filesystem? >>> I feel there should be an option for this. >> >> Why not adding the files from the repo directly to the classpath? >> Works everywhere and doesn't copy... > > Historically this has been because calculating the classpath couldn't > be done in Clojure itself since it needed to be done before the JVM > booted. Having to figure this kind of thing out in a shell script or > in elisp is a headache if the rules are not simple. But now with the > subclassloader approach that lein and mvn use it's less of an issue. > But it would mean deprecating the pure-elisp swank launcher, and I > don't know how it would affect other tools (IDEs, etc), so I'm still > hesitant. > > I would be happy with a (simple-ish) patch to enable optionally > switching to using symlinks or hard-links as this would be the > lowest-impact fix, but I can't bring myself to care enough about the > number of megabytes currently being wasted to code it myself; sorry. > > -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 -- 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