This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-10-31
Channels
- # aws-lambda (4)
- # beginners (152)
- # boot (19)
- # cider (45)
- # cljs-dev (14)
- # clojure (54)
- # clojure-dev (33)
- # clojure-greece (11)
- # clojure-italy (4)
- # clojure-nl (8)
- # clojure-norway (2)
- # clojure-russia (6)
- # clojure-sg (1)
- # clojure-spec (1)
- # clojure-uk (40)
- # clojure-ukraine (5)
- # clojurescript (40)
- # community-development (13)
- # component (8)
- # core-async (3)
- # cursive (25)
- # data-science (11)
- # datomic (13)
- # duct (1)
- # emacs (2)
- # events (16)
- # figwheel (3)
- # fulcro (53)
- # graphql (2)
- # jobs (5)
- # jobs-rus (1)
- # juxt (10)
- # leiningen (4)
- # off-topic (82)
- # other-languages (5)
- # portkey (3)
- # protorepl (13)
- # re-frame (22)
- # reagent (15)
- # ring-swagger (4)
- # shadow-cljs (69)
- # spacemacs (7)
- # specter (16)
- # sql (13)
- # vim (5)
- # yada (2)
@alexmiller I upgraded clj/clojure via brew and now I get this error from both the clj
and the clojure
commands:
Error building classpath. No method in multimethod 'dep-id' for dispatch value: null
Pointers on debugging it?@seancorfield move away your ~/.clojure/deps.edn and it will get autogenned the next time you run clj
yeah, there was a change in the format of the deps.edn file
if you have a local deps.edn file you will need to update it as well
@ghadi Thanks. Yeah, that fixed it. @alexmiller I'll have to see which of my test projects have an old deps.edn
file and figure out what I need to change.
the web site stuff is all up to date
let me know if you need an eye, I can probably spot things quickly
Looks like :type :mvn :version "x.y.z"
became :mvn/version "x.y.z"
and the :providers
also flattened things to use qualified keys?
:providers isn’t even there
we just pulled the keys up and namespaced them
I’m hoping we are largely done with the format changes now. would like to leave alpha and commit to what we have soonish.
:thumbsup::skin-tone-2:
OK, weirdness with multiple aliases. I have aliases for :1.8 and :bench (following the Guide examples) and when I specify multiple -R
values, I don't get the expected result...
:aliases {
:1.8 {:override-deps {org.clojure/clojure {:mvn/version "1.8.0"}}}
:1.9 {:override-deps {org.clojure/clojure {:mvn/version "1.9.0-beta4"}}}
:master {:override-deps {org.clojure/clojure {:mvn/version "1.9.0-master-SNAPSHOT"}}}
:bench {:extra-deps {criterium {:mvn/version "0.4.4"}}}
;; :deps {:extra-deps {org.clojure/tools.deps.alpha {:mvn/version "0.2.167"}}}
:test {:extra-paths ["test"]}
}
(! 599)-> clj -R:1.8
Clojure 1.8.0
user=> ^D
(! 600)-> clj -R:1.8,bench
Clojure 1.9.0-beta3
user=> ^D
That doesn't seem to pull in :bench
either
(! 605)-> clj -R:bench,1.8
Clojure 1.9.0-beta3
user=> (require 'criterium.core)
FileNotFoundException Could not locate criterium/core__init.class or criterium/core.clj on classpath. clojure.lang.RT.load (RT.java:463)
(! 604)-> clj -R:bench
Clojure 1.9.0-beta3
user=> (require 'criterium.core)
nil
Am I doing something wrong here?
From the Guide: Invoke: clj -R:bench,1.9
yeah, that’s wrong
should be -R:bench:1.9
concatenated keywords
fixed and redeploying, sorry that one snuck through
Ah, yes, that works
(! 606)-> clj -R:bench:1.8
Clojure 1.8.0
user=> (require 'criterium.core)
nil
user=> ^D
@seancorfield added some error handling around this https://github.com/clojure/tools.deps.alpha/commit/88c878731c0999d3c0183259c07c169d86b54644
Thanks. I see :lein
as a possible manifest type -- "coming soon" along with :git
providers? 🙂
I’d prefer to outsource some of that stuff. I’ve spent some time working on pom manifests and as usual, the maven stuff is 100x harder than it should be (reading it is pretty straightforward but doing a full resolve on the pom that takes into account the full model is super annoying)
for lein, I’m also not sure how easy it is to pick up a lein project.clj and actually parse it to a point of understanding its dependencies past a naive read. however, there is nothing provided (yet!) to allow for external libs to get hooked into the tools.deps invocation. That needs to happen before this can be a fully open system that people can plug into. I have an idea of how that will all happen but trying to knock off some other stuff first.
much of the recent overhaul around manifests was done with an eye to the similarities between local and git projects (the latter just needing to be downloaded to somewhere first at which point the problems are identical)
so again, we have the beginning of a plan in that direction
this is deep vein of ideas, plenty to do :)
Cool. I'll probably start to look at using tools.deps.alpha
as a library to use from a Boot task to allow Boot to depend(!) on the new deps.edn
machinery. I'm primarily interested because we already use (a different format of) deps.edn
at work for describing our dependencies and I'd like to bring that all in line with the "standard" new approach.