Fork me on GitHub
#reveal
<
2021-09-22
>
Jakub Holý (HolyJak)11:09:58

Hi! I am using Cursive with Leiningen. As far as I know, Cursive works best with nREPL (e.g. for test result markers etc.) So why do https://vlaaad.github.io/reveal/#cursive not suggest using the reveal nrepl middleware but instead a clojure.main repl? What do I loose if I use the nrepl way instead? 🙏

vlaaad17:09:01

With nREPL you lose the simplicity of REPL and get easiness of eval rpc server (which is what nREPL is, despite the name). You don't get test results markers, but you still can run tests from the REPL as a command invocation. I'd say it's my personal preference, I feel it made me better understand Clojure's evaluation semantics that sometimes gets hidden behind nREPL trying to help by automatic namespace switching and reloading of some forms.

vlaaad17:09:14

You absolutely can use Reveal's nREPL middleware with Cursive

Jakub Holý (HolyJak)17:09:38

Ok, I understand your personal preference here, but do I as Reveal user loose anything?

vlaaad17:09:12

Hmm, no, I don't think you lose anything else compared to REPLs. There might see some unexpected output generated by nREPL, and that's it

👍 2
Jakub Holý (HolyJak)11:09:21

Q2: Should I worry about > com.sun.javafx.application.PlatformImpl startup > WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @38a38ed4' ? I do not see the Reveal window so perhaps I should? (I am on AdoptOpenJDK-11)

Jakub Holý (HolyJak)12:09:46

It would be nice if the getting started docs mentioned I need to add dependency on org.openjfx/javafx-controls when using a JDK w/o FX such as AdopOpenJdk 🙏

vlaaad17:09:11

Uhmmm, you don't need this dependency, it's pulled in automatically... Why do you say you need it?

vlaaad17:09:59

Re warning, this is some silly warning from javafx, it should not affect anything

vlaaad17:09:58

You might have dependency issues when switching from JDK 8 to JDK 11 and back, this is because JavaFX is built in JDK 8 and distributed as separate library on JDK 11+. Support of both Java 8 and Java 11 requires some maven dependency magic that changes dependencies depending on used JDK version. This is something maven supports, but clj doesn't, so after switching JDKs you need to do -Sforce to make clj recalculate deps

vlaaad18:09:53

Btw I released a new version of reveal (1.3.217) to get rid of this warning

👍 2
Jakub Holý (HolyJak)08:09:34

Thank you. I can stick to v11 only, that is not problem. It would be really nice to add tips about this to the docs to ease new user onboarding 🙏

Jakub Holý (HolyJak)12:09:44

Q3: This popped up after I started reveal from IntelliJ. I denied, unsure whether Reveal will work or not. It would be nice of the docs warned about it.

vlaaad17:09:53

Interesting, there is an open JavaFX issue about that: https://bugs-stage.openjdk.java.net/browse/JDK-8238435