I cannot use clarity as a dependency
I am starting a toy project at clojure. I decided to give it a try. I installed leiningen and clojure and I was able to run lein install and work with it via emacs. Although I cannot use clarity, depending on my project:
;;;project.clj
(defproject sms-client "1.0.0-SNAPSHOT"
:description "This is meant to be an sms client"
:dependencies [[org.clojure/clojure "1.2.1"]
[clarity "0.5.5"]])
;;;src/sms_client/core.clj
(ns sms-client.core
(:require [clarity.form :as form]
[clarity.dev :as dev]))
(def the-form
(form/form
:login ""
:password ""))
(dev/show-comp the-form)
This is bloated:
clojure.lang.RT.keyword(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword;
[Thrown class java.lang.NoSuchMethodError]
Restarts:
0: [QUIT] Quit to the SLIME top level
Backtrace:
0: clarity.component__init.__init0(Unknown Source)
1: clarity.component__init.<clinit>(Unknown Source)
2: java.lang.Class.forName0(Native Method)
3: java.lang.Class.forName(Class.java:264)
4: clojure.lang.RT.loadClassForName(RT.java:1578)
5: clojure.lang.RT.load(RT.java:399)
6: clojure.lang.RT.load(RT.java:381)
7: clojure.core$load$fn__4519.invoke(core.clj:4915)
8: clojure.core$load.doInvoke(core.clj:4914)
9: clojure.lang.RestFn.invoke(RestFn.java:408)
10: clojure.core$load_one.invoke(core.clj:4729)
11: clojure.core$load_lib.doInvoke(core.clj:4766)
12: clojure.lang.RestFn.applyTo(RestFn.java:142)
13: clojure.core$apply.invoke(core.clj:542)
14: clojure.core$load_libs.doInvoke(core.clj:4800)
15: clojure.lang.RestFn.applyTo(RestFn.java:137)
16: clojure.core$apply.invoke(core.clj:542)
17: clojure.core$require.doInvoke(core.clj:4881)
18: clojure.lang.RestFn.invoke(RestFn.java:619)
19: clarity.form$eval1651$loading__4414__auto____1652.invoke(form.clj:1)
20: clarity.form$eval1651.invoke(form.clj:1)
21: clojure.lang.Compiler.eval(Compiler.java:5424)
22: clojure.lang.Compiler.eval(Compiler.java:5415)
23: clojure.lang.Compiler.load(Compiler.java:5857)
24: clojure.lang.RT.loadResourceScript(RT.java:340)
25: clojure.lang.RT.loadResourceScript(RT.java:331)
26: clojure.lang.RT.load(RT.java:409)
27: clojure.lang.RT.load(RT.java:381)
28: clojure.core$load$fn__4519.invoke(core.clj:4915)
29: clojure.core$load.doInvoke(core.clj:4914)
30: clojure.lang.RestFn.invoke(RestFn.java:408)
31: clojure.core$load_one.invoke(core.clj:4729)
32: clojure.core$load_lib.doInvoke(core.clj:4766)
33: clojure.lang.RestFn.applyTo(RestFn.java:142)
34: clojure.core$apply.invoke(core.clj:542)
35: clojure.core$load_libs.doInvoke(core.clj:4800)
36: clojure.lang.RestFn.applyTo(RestFn.java:137)
37: clojure.core$apply.invoke(core.clj:542)
38: clojure.core$require.doInvoke(core.clj:4881)
39: clojure.lang.RestFn.invoke(RestFn.java:421)
40: sms_client.core$eval1645$loading__4414__auto____1646.invoke(NO_SOURCE_FILE:1)
41: sms_client.core$eval1645.invoke(NO_SOURCE_FILE:1)
42: clojure.lang.Compiler.eval(Compiler.java:5424)
43: clojure.lang.Compiler.eval(Compiler.java:5415)
44: clojure.lang.Compiler.eval(Compiler.java:5391)
45: clojure.core$eval.invoke(core.clj:2382)
46: swank.commands.basic$eval_region.invoke(basic.clj:47)
47: swank.commands.basic$eval_region.invoke(basic.clj:37)
48: swank.commands.basic$eval849$listener_eval__850.invoke(basic.clj:71)
49: clojure.lang.Var.invoke(Var.java:365)
50: user$eval1641.invoke(NO_SOURCE_FILE)
51: clojure.lang.Compiler.eval(Compiler.java:5424)
52: clojure.lang.Compiler.eval(Compiler.java:5391)
53: clojure.core$eval.invoke(core.clj:2382)
54: swank.core$eval_in_emacs_package.invoke(core.clj:92)
55: swank.core$eval_for_emacs.invoke(core.clj:239)
56: clojure.lang.Var.invoke(Var.java:373)
57: clojure.lang.AFn.applyToHelper(AFn.java:167)
58: clojure.lang.Var.applyTo(Var.java:482)
59: clojure.core$apply.invoke(core.clj:540)
60: swank.core$eval_from_control.invoke(core.clj:99)
61: swank.core$eval_loop.invoke(core.clj:104)
62: swank.core$spawn_repl_thread$fn__617$fn__618.invoke(core.clj:309)
63: clojure.lang.AFn.applyToHelper(AFn.java:159)
64: clojure.lang.AFn.applyTo(AFn.java:151)
65: clojure.core$apply.invoke(core.clj:540)
66: swank.core$spawn_repl_thread$fn__617.doInvoke(core.clj:306)
67: clojure.lang.RestFn.invoke(RestFn.java:397)
68: clojure.lang.AFn.run(AFn.java:24)
69: java.lang.Thread.run(Thread.java:679)
What am I doing wrong?
+3
source to share
2 answers
with a clarity of "0.5.5" with her require
that explodes:
user=> (require 'clarity.form)
java.lang.NoSuchMethodError: clojure.lang.RT.keyword(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword; (form.clj:1)
the clarity "0.5,5" doesn't seem to work with clojure 1.2.1, but it works with clojure 1.3.0
you can work with the clarity "0.5.3" and stick with clojure 1.2.1, or stay with the clarity 0.5.5 and switch to clojure 1.3.0.
I personally recommend using the latest versions of both.
+4
source to share