On Dec 4, 2012, at 2:52 AM, Laurent PETIT wrote:

> 2012/12/4 rob <r.p.l...@gmail.com>:
>> That was my first thought, and considered also generating a project.clj, but
>> after thinking about it I decided I didn't want to encourage this type of
>> behavior beyond REPL experimentation, so I preferred to do it in a way that
>> focuses on the REPL.

Good instincts.

This is all vaguely insane, but I suppose I am to blame... ;-)

If you like, you can add contrib-repl to the list of community-authored nREPL 
extensions here:

        https://github.com/clojure/tools.nrepl/wiki/Community-managed-extensions

One thing: make sure tools.nrepl is never loaded dynamically (see below for 
why).

> - if some of the contrib dependencies are already marked as deps in
> the project, how does that work ? What about version conflicts ?

If a version of some dependency is already on the classpath (either has been 
there from the start, or was previously added via pomegranate), results are 
undefined if a different version of the same dependency is later added via 
pomegranate.  Sometimes you get lucky and nothing bad happens; other times, you 
can really hork the entire process.  It all depends on the specific differences 
between the versions in question, and how the code in question is being used.

(Thus my suggestion to Robert above to not add tools.nrepl in contrib-repl.)

At some point, I'd like to:

1. Make it possible for processes that start Clojure runtimes (i.e. Leiningen) 
to make Pomegranate aware of the dependencies that have been put on the initial 
classpath.
2. Make Pomegranate track which versions of which dependencies are available.
3. Make Pomegranate throw an exception if a dependency conflict will be created 
by an add-dependencies call.

#2 is particularly difficult for a variety of reasons.

Cheers,

- Chas

-- 
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