LightTable / Clojure

Light Table Clojure language plugin
MIT License
99 stars 51 forks source link

Inline lein-light-nrepl dependencies #44

Open rundis opened 9 years ago

rundis commented 9 years ago

I would suggest we take the same route as:

I.e source-inlining dependencies using mranderson

That way I think we should be able to avoid many pesky dependency conflicts with clojure projects connecting through lein-light-nrepl. I'd be willing to have a go at it once the atom-shell release is out.

geoffrys commented 9 years ago

I've taken an initial stab at this, it's going quite slowly.

  1. Running source-deps is extremely slow: at first glance it seems that dependencies should be downloaded only if they don't already exist and then always re-mangle the project's files. You can avoid this to some degree by editing source in target/* and rerunning lein with-profile plugin.mranderson/config install
  2. lein-light-nrepl/src/lighttable/nrepl/core.clj org.apache.commons.io.output.WriterOutputStream. isn't caught by mranderson. Added to the ns macro.
  3. lein-light-nrepl/src/lighttable/nrepl/eval.clj (defn eval-clj [fs cur-ns & [opts]] the fs arg is assumed to be the dependency fs. Renamed to forms.
  4. clojure.data.json calls (load "json_compat_0_1") at the bottom of the file, json_compat_0_1.clj is not present after running source-deps ...
rundis commented 9 years ago

@geoffrys any further progress on this ?

geoffrys commented 9 years ago

@rundis I'm afraid I ran out of time to look at it in May and haven't had time since.