clj.orcery

Language, Expression and Design

Friday

03

April 2015

revisiting my workflow tooling

by Chris Zheng,

I've migrated vinyasa.pull/pull to alembic.still/distill and vinyasa.lein/lein to alembic.still/lein in my profiles.clj file.

alembic offers a much more superior solution for dependency management, using classlojure for isolation of different library versions though the function name distill is slightly confusing so I've renamed distill to pull and load-project to pull-project:

{:user {:plugins [[cider/cider-nrepl "0.9.0-SNAPSHOT"]]
            :dependencies [[org.clojure/tools.nrepl "0.2.7"]
                       [org.clojure/tools.namespace "0.2.9"]
                               [spyscope "0.1.5"]
                       [alembic "0.3.2"]
                           [im.chit/vinyasa.inject     "0.3.4"]
                           [im.chit/vinyasa.reflection "0.3.4"]]
            :injections 
            [(require 'spyscope.core)
             (require '[vinyasa.inject :as inject])
             (inject/in [vinyasa.inject :refer [inject [in inject-in]]]
                        [clojure.pprint pprint]
                        [clojure.java.shell sh]
                    [alembic.still [distill pull] lein [load-project pull-project]]
                    [clojure.tools.namespace.repl refresh]
                                        [clojure.repl doc source]

                        clojure.core
                        [vinyasa.reflection .& .> .? .* .% .%>])]}}