This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-03-06
Channels
- # adventofcode (2)
- # announcements (5)
- # architecture (4)
- # babashka (35)
- # beginners (28)
- # calva (4)
- # cider (9)
- # clerk (30)
- # clj-kondo (11)
- # clojure (58)
- # clojure-conj (3)
- # clojure-europe (71)
- # clojure-gamedev (2)
- # clojure-nl (3)
- # clojure-uk (2)
- # clojurescript (49)
- # conjure (2)
- # cursive (2)
- # emacs (4)
- # fulcro (1)
- # honeysql (2)
- # hyperfiddle (10)
- # jobs (2)
- # jobs-discuss (18)
- # leiningen (9)
- # membrane (14)
- # missionary (1)
- # off-topic (27)
- # pedestal (1)
- # polylith (5)
- # reagent (12)
- # releases (2)
- # remote-jobs (3)
- # shadow-cljs (83)
- # sql (5)
- # squint (14)
- # tools-build (13)
Is there anything obvious this error indicates when building an uberjar?
RuntimeException No dispatch macro for: ?
clojure.lang.Util.runtimeException (Util.java:221)
clojure.lang.EdnReader$DispatchReader.invoke (EdnReader.java:552)
clojure.lang.EdnReader.readDelimitedList (EdnReader.java:757)
clojure.lang.EdnReader$MapReader.invoke (EdnReader.java:680)
clojure.lang.EdnReader.read (EdnReader.java:145)
clojure.lang.EdnReader.read (EdnReader.java:111)
clojure.lang.EdnReader.readString (EdnReader.java:67)
clojure.edn/read-string (edn.clj:46)
clojure.edn/read-string (edn.clj:37)
clojure.edn/read-string (edn.clj:37)
clojure.tools.build.tasks.uber/conflict-data-readers (uber.clj:89)
clojure.tools.build.tasks.uber/conflict-data-readers (uber.clj:86)
It seems related to my inclusion of a dependency on https://github.com/juxt/tick
Is there a way to figure out which form is causing this when it's read?It sounds like a data_readers file in one of your dependencies contains a reader conditional for clj/s support -- and it can't be read as EDN.
Yeah I saw that. I've now found that adding:
:conflict-handlers {"^data_readers.clj[cs]?$" :warn}
in my call to build/uber
seemed to "fix" this for my situation. When I do that I don't get a warning for any data-readers conflicts, and the necessary data_readers.cljc ends up in the jar. Might be relevant that I'm using a :bb
reader conditional, that doesn't immediately seem like the problem though.
I'll see if I can get a minimal repro at some point.@U064X3EF3 Seems like a bug that uber
tries to merge data_readers.cljc
files without supporting reader conditionals?
https://ask.clojure.org/index.php/12733/tools-build-datareaders-should-support-reader-conditionals
Thanks for that @U04V70XH6
@U064UGEUQ According to follow-up on that issue, it should be fixed in tools.build
0.8.3 onward -- what version are you using?