This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-01-15
Channels
- # announcements (5)
- # architecture (17)
- # aws (2)
- # bangalore-clj (1)
- # beginners (157)
- # boot (22)
- # boot-dev (2)
- # cider (64)
- # clara (2)
- # cljs-dev (3)
- # clojure (30)
- # clojure-art (2)
- # clojure-australia (1)
- # clojure-belgium (1)
- # clojure-denver (1)
- # clojure-dusseldorf (1)
- # clojure-europe (8)
- # clojure-finland (2)
- # clojure-italy (9)
- # clojure-nl (21)
- # clojure-spec (261)
- # clojure-switzerland (3)
- # clojure-uk (67)
- # clojurescript (57)
- # clojurewerkz (2)
- # cursive (3)
- # datomic (27)
- # emacs (12)
- # figwheel-main (2)
- # fulcro (48)
- # garden (67)
- # graphql (41)
- # jobs (8)
- # kaocha (8)
- # liberator (2)
- # lumo (1)
- # off-topic (19)
- # parinfer (9)
- # perun (4)
- # re-frame (50)
- # reagent (7)
- # remote-jobs (4)
- # ring-swagger (20)
- # rum (6)
- # shadow-cljs (170)
- # specter (3)
- # tools-deps (19)
- # vim (3)
we are doing like the above, I have also a deps.edn
only project but having lein
makes it easy for colleagues to use Cursive, which still has some quirks with deps.edn
@richiardiandrea It does? I’d like to hear about them.
ah ah for sure 😄 one of my colleagues opened a couple of issues so you are aware of everything I think, don't remember which ones....wherever you see monorepo is us I guess!
👋 I asked this yesterday in off-topic, wondering what you think about it https://clojurians.slack.com/archives/C03RZGPG3/p1547483045535400 One thing I would fear if people widely adopted "SHAs for every dependency" is that two different libraries (let's call them A and B) could independently declare a dependency on C, but at different SHAs. Is that a scenario that tools.deps can gracefully handle?
well depends what part you’re asking about
if you declare two sha’s in the transitive dep tree, it will use the newer one
Where newer = more descendant. If there is no descendant relationship (independent branches) then it’s an error
(same as we do for Maven artifacts)
So in this library I’m hoping to help out with, I’ve moved the dependencies from project.clj
to deps.edn
and added the plugin lein-tools-deps
to project.clj
. lein deps
seems to work just fine, but when I run lein test
I get:
$ lein test
Error: Could not find or load main class clojure.main
Caused by: java.lang.ClassNotFoundException: clojure.main
Tests failed.
I tried changing the clojure version specified in deps.edn
to 1.9.0 and 1.10.0 but that seemed to have no effect. Anyone know what’s happening here, what I’m missing?Aha, I needed to add :middleware
and :lein-tools-deps/config
to project.clj
— as explained clearly in the docs of lein-tools-deps! (docs ftw)
@aviflax I had that same problem with Cursive and the only thing I found to get around it was to downgrade lein-tools-deps
to "0.4.1"
I have a codebase that I’ve instrumented with tools-deps and can run via
clj -m something.main <args>
from the command line. What do folks typically do or what guidance is out there to make it easier for other (non clj) users to run it. In the past, I’d have done a lein uberjar and wrapped it in a bash script. Is there a better way?