Closed elisehuard closed 6 years ago
newest clojure beta version works with the projects I'm using.
Finally able to use specs!
I released this and the leiningen plugin on clojars under our company clojars: https://clojars.org/kixi/gorilla-repl https://clojars.org/kixi/lein-gorilla FWIW
Thanks for new new version.
Your versions of gorilla don't work for me, at least not with clojure-1.9.0-beta2
With this project
(defproject test-gorilla-kixi "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.9.0-beta2"]
]
:plugins [[kixi/lein-gorilla "0.4.1"]]
)
Gives me a error on "lein gorilla"
Exception in thread "main" java.lang.RuntimeException: Invalid token: ::clojure.test/once-fixtures, compiling:(cider/nrepl/middleware/test.clj:129:57)
at clojure.lang.Compiler.load(Compiler.java:7521)
at clojure.lang.RT.loadResourceScript(RT.java:379)
at clojure.lang.RT.loadResourceScript(RT.java:370)
at clojure.lang.RT.load(RT.java:460)
at clojure.lang.RT.load(RT.java:426)
There is something strange going on. I see from the dependency tree, that [cider/cider-nrepl "0.15.1" :exclusions [[org.clojure/clojure]]] gets used, which fixes the above bug: https://github.com/clojure-emacs/cider/issues/2081
But I see as well that "something" pulls in cider-nrepl 0.14, on my "empty" project:
lein gorilla
Retrieving cider/cider-nrepl/0.14.0/cider-nrepl-0.14.0.pom from clojars
Retrieving cider/cider-nrepl/0.14.0/cider-nrepl-0.14.0.jar from clojars
I cleaned now my .m2 directory, and now i get an error message:
lein gorilla
Could not find artifact gorilla-repl:gorilla-repl:jar:0.4.1 in central (https://repo1.maven.org/maven2/)
Could not find artifact gorilla-repl:gorilla-repl:jar:0.4.1 in clojars (https://clojars.org/repo/)
fixVersions.patch.txt I found the problem, The above kixi/lein-gorilla is not using kixi/gorilla-repl but the normal 'gorilla-repl/gorilla-repl', which pulls in old dependencies.
I did a patch of lein-gorilla, which fixes it for me. See attached
.
Now that Clojure 1.9.0
has been release, we could bump to it in this PR too :)
Still haven't fully figured out if this is the same issue, but students installing Java 9, then doing lein new gorilla-app foo
, then cd foo; lein gorilla
get an error. I'll include what I think was one of the stack traces from this below (I can't easily re-create it).
I believe we were able to solve all of the issues by having students downgrade to Java 8.
In some discussions it was floated that maybe if we were using Gorilla REPL 0.4.1 rather than 0.4.0 (which is what lein new gorilla-app
currently uses, and that way of getting started is important in my teaching context), then we wouldn't have gotten this error, but I don't know if that's true.
In any event, it would be great if lein new gorilla-app
would add the most current plugin dependency, and also if the most current plugin would work with the most current Java.
Here's that stack trace:
clojure.lang.Compiler$CompilerException: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter, compiling:(org/httpkit/server.clj:1:1)
at clojure.lang.Compiler.load (Compiler.java:7391)
clojure.lang.RT.loadResourceScript (RT.java:372)
clojure.lang.RT.loadResourceScript (RT.java:363)
clojure.lang.RT.load (RT.java:453)
clojure.lang.RT.load (RT.java:419)
clojure.core$load$fn__5677.invoke (core.clj:5893)
clojure.core$load.invokeStatic (core.clj:5892)
clojure.core$load.doInvoke (core.clj:5876)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5697)
clojure.core$load_one.invoke (core.clj:5692)
clojure.core$load_lib$fn__5626.invoke (core.clj:5737)
clojure.core$load_lib.invokeStatic (core.clj:5736)
clojure.core$load_lib.doInvoke (core.clj:5717)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$load_libs.invokeStatic (core.clj:5774)
clojure.core$load_libs.doInvoke (core.clj:5758)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$require.invokeStatic (core.clj:5796)
clojure.core$require.doInvoke (core.clj:5796)
clojure.lang.RestFn.invoke (RestFn.java:703)
gorilla_repl.core$eval500$loading__5569__auto____501.invoke (core.clj:5)
gorilla_repl.core$eval500.invokeStatic (core.clj:5)
gorilla_repl.core$eval500.invoke (core.clj:5)
clojure.lang.Compiler.eval (Compiler.java:6927)
clojure.lang.Compiler.eval (Compiler.java:6916)
clojure.lang.Compiler.load (Compiler.java:7379)
clojure.lang.RT.loadResourceScript (RT.java:372)
clojure.lang.RT.loadResourceScript (RT.java:363)
clojure.lang.RT.load (RT.java:453)
clojure.lang.RT.load (RT.java:419)
clojure.core$load$fn__5677.invoke (core.clj:5893)
clojure.core$load.invokeStatic (core.clj:5892)
clojure.core$load.doInvoke (core.clj:5876)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5697)
clojure.core$load_one.invoke (core.clj:5692)
clojure.core$load_lib$fn__5626.invoke (core.clj:5737)
clojure.core$load_lib.invokeStatic (core.clj:5736)
clojure.core$load_lib.doInvoke (core.clj:5717)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$load_libs.invokeStatic (core.clj:5774)
clojure.core$load_libs.doInvoke (core.clj:5758)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$require.invokeStatic (core.clj:5796)
clojure.core$require.doInvoke (core.clj:5796)
clojure.lang.RestFn.invoke (RestFn.java:436)
leiningen.gorilla$eval494$loading__5569__auto____495.invoke (gorilla.clj:7)
leiningen.gorilla$eval494.invokeStatic (gorilla.clj:7)
leiningen.gorilla$eval494.invoke (gorilla.clj:7)
clojure.lang.Compiler.eval (Compiler.java:6927)
clojure.lang.Compiler.eval (Compiler.java:6916)
clojure.lang.Compiler.load (Compiler.java:7379)
clojure.lang.RT.loadResourceScript (RT.java:372)
clojure.lang.RT.loadResourceScript (RT.java:363)
clojure.lang.RT.load (RT.java:453)
clojure.lang.RT.load (RT.java:419)
clojure.core$load$fn__5677.invoke (core.clj:5893)
clojure.core$load.invokeStatic (core.clj:5892)
clojure.core$load.doInvoke (core.clj:5876)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5697)
clojure.core$load_one.invoke (core.clj:5692)
clojure.core$load_lib$fn__5626.invoke (core.clj:5737)
clojure.core$load_lib.invokeStatic (core.clj:5736)
clojure.core$load_lib.doInvoke (core.clj:5717)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$load_libs.invokeStatic (core.clj:5774)
clojure.core$load_libs.doInvoke (core.clj:5758)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$require.invokeStatic (core.clj:5796)
clojure.core$require.doInvoke (core.clj:5796)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invokeStatic (utils.clj:102)
leiningen.core.utils$require_resolve.invoke (utils.clj:95)
leiningen.core.utils$require_resolve.invokeStatic (utils.clj:105)
leiningen.core.utils$require_resolve.invoke (utils.clj:95)
leiningen.core.main$lookup_task_var.invokeStatic (main.clj:69)
leiningen.core.main$lookup_task_var.invoke (main.clj:65)
leiningen.core.main$pass_through_help_QMARK_.invokeStatic (main.clj:79)
leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:73)
leiningen.core.main$task_args.invokeStatic (main.clj:82)
leiningen.core.main$task_args.invoke (main.clj:81)
leiningen.core.main$resolve_and_apply.invokeStatic (main.clj:339)
leiningen.core.main$resolve_and_apply.invoke (main.clj:336)
leiningen.core.main$_main$fn__4734.invoke (main.clj:420)
leiningen.core.main$_main.invokeStatic (main.clj:411)
leiningen.core.main$_main.doInvoke (main.clj:408)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invokeStatic (core.clj:646)
clojure.main$main_opt.invokeStatic (main.clj:314)
clojure.main$main_opt.invoke (main.clj:310)
clojure.main$main.invokeStatic (main.clj:421)
clojure.main$main.doInvoke (main.clj:384)
clojure.lang.RestFn.invoke (RestFn.java:436)
clojure.lang.Var.invoke (Var.java:388)
clojure.lang.AFn.applyToHelper (AFn.java:160)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.net.URLClassLoader.findClass (URLClassLoader.java:466)
clojure.lang.DynamicClassLoader.findClass (DynamicClassLoader.java:69)
java.lang.ClassLoader.loadClass (ClassLoader.java:563)
clojure.lang.DynamicClassLoader.loadClass (DynamicClassLoader.java:77)
java.lang.ClassLoader.loadClass (ClassLoader.java:496)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:375)
clojure.lang.RT.classForName (RT.java:2168)
clojure.lang.RT.classForNameNonLoading (RT.java:2181)
org.httpkit.server$eval1271$loading__5569__auto____1272.invoke (server.clj:1)
org.httpkit.server$eval1271.invokeStatic (server.clj:1)
org.httpkit.server$eval1271.invoke (server.clj:1)
clojure.lang.Compiler.eval (Compiler.java:6927)
clojure.lang.Compiler.eval (Compiler.java:6916)
clojure.lang.Compiler.load (Compiler.java:7379)
clojure.lang.RT.loadResourceScript (RT.java:372)
clojure.lang.RT.loadResourceScript (RT.java:363)
clojure.lang.RT.load (RT.java:453)
clojure.lang.RT.load (RT.java:419)
clojure.core$load$fn__5677.invoke (core.clj:5893)
clojure.core$load.invokeStatic (core.clj:5892)
clojure.core$load.doInvoke (core.clj:5876)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5697)
clojure.core$load_one.invoke (core.clj:5692)
clojure.core$load_lib$fn__5626.invoke (core.clj:5737)
clojure.core$load_lib.invokeStatic (core.clj:5736)
clojure.core$load_lib.doInvoke (core.clj:5717)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$load_libs.invokeStatic (core.clj:5774)
clojure.core$load_libs.doInvoke (core.clj:5758)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$require.invokeStatic (core.clj:5796)
clojure.core$require.doInvoke (core.clj:5796)
clojure.lang.RestFn.invoke (RestFn.java:703)
gorilla_repl.core$eval500$loading__5569__auto____501.invoke (core.clj:5)
gorilla_repl.core$eval500.invokeStatic (core.clj:5)
gorilla_repl.core$eval500.invoke (core.clj:5)
clojure.lang.Compiler.eval (Compiler.java:6927)
clojure.lang.Compiler.eval (Compiler.java:6916)
clojure.lang.Compiler.load (Compiler.java:7379)
clojure.lang.RT.loadResourceScript (RT.java:372)
clojure.lang.RT.loadResourceScript (RT.java:363)
clojure.lang.RT.load (RT.java:453)
clojure.lang.RT.load (RT.java:419)
clojure.core$load$fn__5677.invoke (core.clj:5893)
clojure.core$load.invokeStatic (core.clj:5892)
clojure.core$load.doInvoke (core.clj:5876)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5697)
clojure.core$load_one.invoke (core.clj:5692)
clojure.core$load_lib$fn__5626.invoke (core.clj:5737)
clojure.core$load_lib.invokeStatic (core.clj:5736)
clojure.core$load_lib.doInvoke (core.clj:5717)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$load_libs.invokeStatic (core.clj:5774)
clojure.core$load_libs.doInvoke (core.clj:5758)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$require.invokeStatic (core.clj:5796)
clojure.core$require.doInvoke (core.clj:5796)
clojure.lang.RestFn.invoke (RestFn.java:436)
leiningen.gorilla$eval494$loading__5569__auto____495.invoke (gorilla.clj:7)
leiningen.gorilla$eval494.invokeStatic (gorilla.clj:7)
leiningen.gorilla$eval494.invoke (gorilla.clj:7)
clojure.lang.Compiler.eval (Compiler.java:6927)
clojure.lang.Compiler.eval (Compiler.java:6916)
clojure.lang.Compiler.load (Compiler.java:7379)
clojure.lang.RT.loadResourceScript (RT.java:372)
clojure.lang.RT.loadResourceScript (RT.java:363)
clojure.lang.RT.load (RT.java:453)
clojure.lang.RT.load (RT.java:419)
clojure.core$load$fn__5677.invoke (core.clj:5893)
clojure.core$load.invokeStatic (core.clj:5892)
clojure.core$load.doInvoke (core.clj:5876)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invokeStatic (core.clj:5697)
clojure.core$load_one.invoke (core.clj:5692)
clojure.core$load_lib$fn__5626.invoke (core.clj:5737)
clojure.core$load_lib.invokeStatic (core.clj:5736)
clojure.core$load_lib.doInvoke (core.clj:5717)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$load_libs.invokeStatic (core.clj:5774)
clojure.core$load_libs.doInvoke (core.clj:5758)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invokeStatic (core.clj:648)
clojure.core$require.invokeStatic (core.clj:5796)
clojure.core$require.doInvoke (core.clj:5796)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invokeStatic (utils.clj:102)
leiningen.core.utils$require_resolve.invoke (utils.clj:95)
leiningen.core.utils$require_resolve.invokeStatic (utils.clj:105)
leiningen.core.utils$require_resolve.invoke (utils.clj:95)
leiningen.core.main$lookup_task_var.invokeStatic (main.clj:69)
leiningen.core.main$lookup_task_var.invoke (main.clj:65)
leiningen.core.main$pass_through_help_QMARK_.invokeStatic (main.clj:79)
leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:73)
leiningen.core.main$task_args.invokeStatic (main.clj:82)
leiningen.core.main$task_args.invoke (main.clj:81)
leiningen.core.main$resolve_and_apply.invokeStatic (main.clj:339)
leiningen.core.main$resolve_and_apply.invoke (main.clj:336)
leiningen.core.main$_main$fn__4734.invoke (main.clj:420)
leiningen.core.main$_main.invokeStatic (main.clj:411)
leiningen.core.main$_main.doInvoke (main.clj:408)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invokeStatic (core.clj:646)
clojure.main$main_opt.invokeStatic (main.clj:314)
clojure.main$main_opt.invoke (main.clj:310)
clojure.main$main.invokeStatic (main.clj:421)
clojure.main$main.doInvoke (main.clj:384)
clojure.lang.RestFn.invoke (RestFn.java:436)
clojure.lang.Var.invoke (Var.java:388)
clojure.lang.AFn.applyToHelper (AFn.java:160)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
$ java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
Latest http-kit beta release resolves the JDK 9 related exception. Refer : https://github.com/http-kit/http-kit/releases/tag/2.3.0-beta2
Quick heads-up for the maintainers (? @JonyEpsilon @benfb).
Gorilla REPL does not work with Clojure 1.9. People who use the current version of Clojure cannot use Gorilla REPL.
It would be very welcome to have a change like in this pull request incorporated in the gorilla-repl and lein-gorilla projects. Thank you!
Cross-posting with another issue (#280): Hey! I finished my senior thesis and I've been thinking about continuing work on this project--I have to do some ground work on setting up some new infrastructure, but after that's set up we should be able to release more often. Sorry again for the delay!
I updated the dependencies manually since it's been a while since this issue was raised--new release should be out shortly and I'll be sure to mention your contribution. Thanks! 😃
Upgraded everything to the latest possible versions. Runs but I'm not positive this works with incanter. lein-gorilla needs modified to to work with 0.4.1 instead of 0.4.0 (this is hardcoded into the lein plugin source code, major caveat !!?!!).