I am starting a toy project in clojure. I decided to give it a try. I installed leiningen and clojure and I managed run lein install and to work with it through emacs. Though, I am unable to use clarity as dependency of 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 blowing up with:
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?
with clarity “0.5.5” its the
requirethat is blowing up:clarity “0.5.5” seems not to work with clojure 1.2.1 but does work with clojure 1.3.0
you can
work with clarity “0.5.3” and stick with clojure 1.2.1 or stay with clarity 0.5.5 and switch to clojure 1.3.0.
Personally i recommend using the latest versions of both.