This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-02-24
Channels
- # announcements (5)
- # aws (24)
- # babashka (41)
- # beginners (130)
- # bristol-clojurians (2)
- # calva (39)
- # chlorine-clover (64)
- # cider (30)
- # clojure (202)
- # clojure-belgium (1)
- # clojure-dev (99)
- # clojure-europe (5)
- # clojure-hungary (4)
- # clojure-italy (10)
- # clojure-losangeles (8)
- # clojure-nl (11)
- # clojure-norway (6)
- # clojure-spec (7)
- # clojure-uk (12)
- # clojurescript (52)
- # core-typed (26)
- # cursive (19)
- # data-science (19)
- # datomic (19)
- # duct (10)
- # emacs (17)
- # fulcro (22)
- # graalvm (11)
- # jobs (3)
- # kaocha (28)
- # leiningen (6)
- # lumo (2)
- # malli (10)
- # nrepl (2)
- # off-topic (23)
- # pathom (2)
- # pedestal (7)
- # re-frame (3)
- # reagent (30)
- # reitit (2)
- # remote-jobs (2)
- # shadow-cljs (77)
- # sql (10)
- # test-check (22)
- # tools-deps (37)
- # vscode (1)
- # yada (3)
might be a long shot, but anyone has a lein deps
wrapper that turns it into a no-op if project.clj's contents haven't changed?
Got it! It looks approximately like this:
deps(){
if git diff master --exit-code -- project.clj > /dev/null;
then
echo "Nothing changed"
else
lein with-profile +test deps
fi
}
you don't need to use the deps command explicitly - any other command that evaluates in project context implicitly invokes it. If you use trampoline with FAST_TRAMPOLINE
lein will keep a hash of project.clj and not recalculate the deps
so eg. as soon as you invoke lein repl
or lein run
it will invoke lein deps
implicitly - maybe that's good for you (no need to run lein deps by hand) or maybe it's bad (recalculating deps even though you didn't ask for it)
Relatively often I use lein deps
isolatedly, for reasons. Particularly when I set :pedantic?
only in deps and never in repl
Additionally, whenever my CIDER launches a JVM process via lein
, it does not perform a deps
.
Don't know if that has changed (I version-froze cider) or can be configured.