This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-07-05
Channels
- # bangalore-clj (1)
- # beginners (50)
- # boot (72)
- # cider (53)
- # cljs-dev (303)
- # cljsrn (2)
- # clojure (403)
- # clojure-conj (3)
- # clojure-dev (7)
- # clojure-italy (18)
- # clojure-russia (129)
- # clojure-sg (1)
- # clojure-spec (44)
- # clojure-uk (25)
- # clojurescript (112)
- # core-async (4)
- # core-typed (3)
- # cursive (23)
- # datomic (114)
- # defnpodcast (1)
- # emacs (1)
- # figwheel (2)
- # graphql (18)
- # hoplon (110)
- # instaparse (6)
- # jobs (3)
- # jobs-discuss (10)
- # leiningen (5)
- # luminus (1)
- # lumo (151)
- # off-topic (22)
- # om (3)
- # om-next (3)
- # onyx (4)
- # parinfer (1)
- # pedestal (8)
- # precept (51)
- # re-frame (19)
- # reagent (3)
- # ring (1)
- # ring-swagger (5)
- # spacemacs (21)
- # sql (25)
- # test-check (2)
- # uncomplicate (8)
- # unrepl (33)
- # untangled (20)
- # yada (14)
how do you have java files compiled with boot? (equivalent of having :java-source-paths in lein)
however can't figure out how to add it to the cider-jack-in boot thing (total newbie with boot)
imo, you should create a dev
task in boot, and use that as the default from cider. As long as you're on 0.15 cider, it works perfectly. If you're stuck on 0.14, you are best off tweaking it everywher.e
Do the dev
task inside build.boot then ๐, which can start as (comp (javac) (repl)
but will likely grow
note that cider-boot-parameters
should be set to javac repl
not boot javac repl
๐
I didnt set cider-boot-parameters
yet, I was hoping it would work with something on the boot side. It works without any customization with lein for instance
it works in lein without customization because everything hooks onto the lein repl
and runs it's own thing first.
@mpenet https://github.com/juxt/edge/commit/125b27930ae7c1476639e9dd33d9a767bd4211b6 courtesy of @richiardiandrea
ah ah nice ๐
@richiardiandrea temporarily reverted until 0.15 is out officially
Oh really? :thinking_face: I thought that cider-boot-parameters was on the list of valid variables
@mpenet which warning? unsafe variable?
the local variables list in foo.bar.baz contains values that may be unsafe (*) .... cider-boot-parameters "dev" eval: ...
isnt' there a way to inject a middleware that does the javac task for boot/repl
for instance?
well I guess it doesn't play nice with other users in the team (damn non-emacs converts). Even tho, it's just "javac" in that case
You could do something like (ns-unmap 'repl)
then:
(deftask repl
[& args ;; NB: I don't think this works necessarily
]
(comp
(javac)
(apply boot.built-in.tasks/repl args))))
You can probably do something like (defn repl ^:boot-task)
but I'm not sure what exactly deftask
does to get it registered.
(deftask print-args []
(prn *args*)
identity)
(boot (print-args "1" "2" "3"))
^^ Apparently this is a thing(ns-unmap *ns* 'repl)
(deftask repl
[]
(comp
(javac)
(apply boot.built-in.tasks/repl *args*))))
could work?Classpath conflict: org.clojure/clojure version 1.9.0-alpha14 already loaded, NOT loading version 1.2.0
Classpath conflict: org.tcrawley/dynapath version 0.2.5 already loaded, ALSO loading version 0.2.4
Boot.main Boot.java: 258
...
boot.App.main App.java: 491
boot.App.runBoot App.java: 399
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 150
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 159
...
boot.main/-main main.clj: 206
boot.main/-main/fn main.clj: 206
...
java.lang.Class.forName Class.java: 348
java.lang.Class.forName0 Class.java
java.lang.ClassLoader.loadClass ClassLoader.java: 357
...
java.lang.ClassLoader.loadClass ClassLoader.java: 424
...
java.net.URLClassLoader.findClass URLClassLoader.java: 381
java.lang.ClassNotFoundException: boot.built-in.tasks
clojure.lang.ExceptionInfo: boot.built-in.tasks
file: "/tmp/boot.user2646530383977609129.clj"
line: 25
(ns-unmap *ns* 'repl)
(deftask bluh
[]
(prn *args*)
identity)
(deftask repl
[]
(comp
(bluh "--" 1 2 3)
(apply boot.task.built-in/repl *args*))))
^^ this runs bluh then starts the repl.(ns-unmap *ns* 'repl)
(deftask repl
[]
(comp
(javac)
(apply boot.task.built-in/repl *args*)))
error in process sentinel: Could not start nREPL server: Classpath conflict: org.clojure/clojure version 1.9.0-alpha14 already loaded, NOT loading version 1.2.0
Classpath conflict: org.tcrawley/dynapath version 0.2.5 already loaded, ALSO loading version 0.2.4
java.lang.Thread.run Thread.java: 745
java.util.concurrent.ThreadPoolExecutor$Worker.run ThreadPoolExecutor.java: 617
java.util.concurrent.ThreadPoolExecutor.runWorker ThreadPoolExecutor.java: 1142
java.util.concurrent.FutureTask.run FutureTask.java: 266
...
clojure.core/binding-conveyor-fn/fn core.clj: 2020
boot.core/boot/fn core.clj: 1030
...
boot.core/construct-tasks core.clj: 988
java.lang.IllegalArgumentException: Unknown option: "-s"
Unknown option: "-H"
clojure.lang.ExceptionInfo: Unknown option: "-s"
Unknown option: "-H"
ah, that's because I didn't test with options. Looks like boot looks for anything that starts like -
and decides that's a flag, not positional parameter.
isn't it possible to inject a fn that does the javac before (repl) via boot.repl/default-middleware? same way cider does it actually
@mpenet I think cider-boot-parameters will be marked as safe, and that will be the best way to solve this.
edge is a little enhanced over what I'd consider standard, particularly the part where it automatically runs the system. But yeah, it's not bad.