reveal 2021-09-21

I'm having problems following the "Give it a try" section of the Reveal documentation: $ clj -Sdeps '{:deps {vlaaad/reveal {:mvn/version "1.3.214"}}}' -m vlaaad.reveal repl WARNING: Implicit use of clojure.main with options is deprecated, use -M Execution error (FileNotFoundException) at clojure.main/main (main.java:40). Could not locate vlaaad/reveal__init.class, vlaaad/reveal.clj or vlaaad/reveal.cljc on classpath. Full report at: /tmp/clojure-3328026357753882472.edn ~/Downloads/junk/aaa $ java -version openjdk version "1.8.0_292" OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10) OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode) ~/Downloads/junk/aaa $ clj Clojure 1.10.3 user=>

hmm, your command worked on my machine, although with a different JDK

what’s the output of clj -Sforce -Sdeps '{:deps {vlaaad/reveal {:mvn/version "1.3.214"}}}' -Spath ?

I’ll try JDK 8 a bit later when I’ll have the time

$ clj -Sforce -Sdeps '{:deps {vlaaad/reveal {:mvn/version "1.3.214"}}}' -Spath | tr ":" "\n" src /home/pauwhi/.m2/repository/org/clojure/clojure/1.10.3/clojure-1.10.3.jar /home/pauwhi/.m2/repository/vlaaad/reveal/1.3.214/reveal-1.3.214.jar /home/pauwhi/.m2/repository/org/clojure/core.specs.alpha/0.2.56/core.specs.alpha-0.2.56.jar /home/pauwhi/.m2/repository/org/clojure/spec.alpha/0.2.194/spec.alpha-0.2.194.jar /home/pauwhi/.m2/repository/cljfx/cljfx/1.7.12/cljfx-1.7.12.jar /home/pauwhi/.m2/repository/cljfx/css/1.1.0/css-1.1.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark/0.62.0/flexmark-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-ext-autolink/0.62.0/flexmark-ext-autolink-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-ext-wikilink/0.62.0/flexmark-ext-wikilink-0.62.0.jar /home/pauwhi/.m2/repository/org/apache/commons/commons-lang3/3.10/commons-lang3-3.10.jar /home/pauwhi/.m2/repository/cljfx/cljfx/1.7.12/cljfx-1.7.12-jdk8.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util-ast/0.62.0/flexmark-util-ast-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util-builder/0.62.0/flexmark-util-builder-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util-collection/0.62.0/flexmark-util-collection-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util-data/0.62.0/flexmark-util-data-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util-dependency/0.62.0/flexmark-util-dependency-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util-format/0.62.0/flexmark-util-format-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util-html/0.62.0/flexmark-util-html-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util-misc/0.62.0/flexmark-util-misc-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util-sequence/0.62.0/flexmark-util-sequence-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util-visitor/0.62.0/flexmark-util-visitor-0.62.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util/0.62.0/flexmark-util-0.62.0.jar /home/pauwhi/.m2/repository/org/nibor/autolink/autolink/0.6.0/autolink-0.6.0.jar /home/pauwhi/.m2/repository/org/jetbrains/annotations/15.0/annotations-15.0.jar /home/pauwhi/.m2/repository/com/vladsch/flexmark/flexmark-util-options/0.62.0/flexmark-util-options-0.62.0.jar

hmm, .m2/repository/vlaaad/reveal/1.3.214/reveal-1.3.214.jar is here, it should contain vlaaad/reveal.clj file... maybe there is more info in full report (/tmp/clojure-3328026357753882472.edn)?

btw does your JDK have JavaFX built in? you can check it by evaluating (import 'javafx.scene.Node) in the REPL — it should succeed

like clj -M -e "(import 'javafx.scene.Node)"

$ clj Clojure 1.10.3 user=> (import 'javafx.scene.Node) Execution error (ClassNotFoundException) at http://java.net.URLClassLoader/findClass (URLClassLoader.java:382). javafx.scene.Node

{:clojure.main/message "Syntax error (ClassNotFoundException) compiling at (cljfx/coerce.clj:1:1).\njavafx.event.EventHandler\n", :clojure.main/triage {:clojure.error/phase :compile-syntax-check, :clojure.error/line 1, :clojure.error/column 1, :clojure.error/source "coerce.clj", :clojure.error/path "cljfx/coerce.clj", :clojure.error/class java.lang.ClassNotFoundException, :clojure.error/cause "javafx.event.EventHandler"}, :clojure.main/trace {:via [{:type clojure.lang.Compiler$CompilerException, :message "Syntax error compiling at (cljfx/coerce.clj:1:1).", :data {:clojure.error/phase :compile-syntax-check, :clojure.error/line 1, :clojure.error/column 1, :clojure.error/source "cljfx/coerce.clj"}, :at [clojure.lang.Compiler load "Compiler.java" 7652]} {:type java.lang.ClassNotFoundException, :message "javafx.event.EventHandler", :at [java.net.URLClassLoader findClass "URLClassLoader.java" 382]}], :trace [[java.net.URLClassLoader findClass "URLClassLoader.java" 382] [clojure.lang.DynamicClassLoader findClass "DynamicClassLoader.java" 69] [java.lang.ClassLoader loadClass "ClassLoader.java" 418] [clojure.lang.DynamicClassLoader loadClass "DynamicClassLoader.java" 77] [java.lang.ClassLoader loadClass "ClassLoader.java" 351] [java.lang.Class forName0 "Class.java" -2] [java.lang.Class forName "Class.java" 348] [clojure.lang.RT classForName "RT.java" 2212] [clojure.lang.RT classForNameNonLoading "RT.java" 2225] [cljfx.coerce$eval794$loading__6737__auto____795 invoke "coerce.clj" 1] [cljfx.coerce$eval794 invokeStatic "coerce.clj" 1] [cljfx.coerce$eval794 invoke "coerce.clj" 1] [clojure.lang.Compiler eval "Compiler.java" 7181] [clojure.lang.Compiler eval "Compiler.java" 7170] [clojure.lang.Compiler load "Compiler.java" 7640] [clojure.lang.RT loadResourceScript "RT.java" 381] [clojure.lang.RT loadResourceScript "RT.java" 372] [clojure.lang.RT load "RT.java" 459] [clojure.lang.RT load "RT.java" 424] [clojure.core$load$fn__6856 invoke "core.clj" 6115] [clojure.core$load invokeStatic "core.clj" 6114] [clojure.core$load doInvoke "core.clj" 6098] [clojure.lang.RestFn invoke "RestFn.java" 408] [clojure.core$load_one invokeStatic "core.clj" 5897] [clojure.core$load_one invoke "core.clj" 5892] [clojure.core$load_lib$fn__6796 invoke "core.clj" 5937] [clojure.core$load_lib invokeStatic "core.clj" 5936] [clojure.core$load_lib doInvoke "core.clj" 5917] [clojure.lang.RestFn applyTo "RestFn.java" 142] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$load_libs invokeStatic "core.clj" 5974] [clojure.core$load_libs doInvoke "core.clj" 5958] [clojure.lang.RestFn applyTo "RestFn.java" 137] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$require invokeStatic "core.clj" 5996] [clojure.core$require doInvoke "core.clj" 5996] [clojure.lang.RestFn invoke "RestFn.java" 482] [cljfx.lifecycle$eval786$loading__6737__auto____787 invoke "lifecycle.clj" 1] [cljfx.lifecycle$eval786 invokeStatic "lifecycle.clj" 1] [cljfx.lifecycle$eval786 invoke "lifecycle.clj" 1] [clojure.lang.Compiler eval "Compiler.java" 7181] [clojure.lang.Compiler eval "Compiler.java" 7170] [clojure.lang.Compiler load "Compiler.java" 7640] [clojure.lang.RT loadResourceScript "RT.java" 381] [clojure.lang.RT loadResourceScript "RT.java" 372] [clojure.lang.RT load "RT.java" 459] [clojure.lang.RT load "RT.java" 424] [clojure.core$load$fn__6856 invoke "core.clj" 6115] [clojure.core$load invokeStatic "core.clj" 6114] [clojure.core$load doInvoke "core.clj" 6098] [clojure.lang.RestFn invoke "RestFn.java" 408] [clojure.core$load_one invokeStatic "core.clj" 5897] [clojure.core$load_one invoke "core.clj" 5892] [clojure.core$load_lib$fn__6796 invoke "core.clj" 5937] [clojure.core$load_lib invokeStatic "core.clj" 5936] [clojure.core$load_lib doInvoke "core.clj" 5917] [clojure.lang.RestFn applyTo "RestFn.java" 142] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$load_libs invokeStatic "core.clj" 5974] [clojure.core$load_libs doInvoke "core.clj" 5958] [clojure.lang.RestFn applyTo "RestFn.java" 137] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$require invokeStatic "core.clj" 5996] [clojure.core$require doInvoke "core.clj" 5996] [clojure.lang.RestFn invoke "RestFn.java" 436] [cljfx.defaults$eval419$loading__6737__auto____420 invoke "defaults.clj" 1] [cljfx.defaults$eval419 invokeStatic "defaults.clj" 1] [cljfx.defaults$eval419 invoke "defaults.clj" 1] [clojure.lang.Compiler eval "Compiler.java" 7181] [clojure.lang.Compiler eval "Compiler.java" 7170] [clojure.lang.Compiler load "Compiler.java" 7640] [clojure.lang.RT loadResourceScript "RT.java" 381] [clojure.lang.RT loadResourceScript "RT.java" 372] [clojure.lang.RT load "RT.java" 459] [clojure.lang.RT load "RT.java" 424] [clojure.core$load$fn__6856 invoke "core.clj" 6115] [clojure.core$load invokeStatic "core.clj" 6114] [clojure.core$load doInvoke "core.clj" 6098] [clojure.lang.RestFn invoke "RestFn.java" 408] [clojure.core$load_one invokeStatic "core.clj" 5897] [clojure.core$load_one invoke "core.clj" 5892] [clojure.core$load_lib$fn__6796 invoke "core.clj" 5937] [clojure.core$load_lib invokeStatic "core.clj" 5936] [clojure.core$load_lib doInvoke "core.clj" 5917] [clojure.lang.RestFn applyTo "RestFn.java" 142] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$load_libs invokeStatic "core.clj" 5974] [clojure.core$load_libs doInvoke "core.clj" 5958] [clojure.lang.RestFn applyTo "RestFn.java" 137] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$require invokeStatic "core.clj" 5996] [clojure.core$require doInvoke "core.clj" 5996] [clojure.lang.RestFn invoke "RestFn.java" 619] [cljfx.api$eval209$loading__6737__auto____210 invoke "api.clj" 1] [cljfx.api$eval209 invokeStatic "api.clj" 1] [cljfx.api$eval209 invoke "api.clj" 1] [clojure.lang.Compiler eval "Compiler.java" 7181] [clojure.lang.Compiler eval "Compiler.java" 7170] [clojure.lang.Compiler load "Compiler.java" 7640] [clojure.lang.RT loadResourceScript "RT.java" 381] [clojure.lang.RT loadResourceScript "RT.java" 372] [clojure.lang.RT load "RT.java" 459] [clojure.lang.RT load "RT.java" 424] [clojure.core$load$fn__6856 invoke "core.clj" 6115] [clojure.core$load invokeStatic "core.clj" 6114] [clojure.core$load doInvoke "core.clj" 6098] [clojure.lang.RestFn invoke "RestFn.java" 408] [clojure.core$load_one invokeStatic "core.clj" 5897] [clojure.core$load_one invoke "core.clj" 5892] [clojure.core$load_lib$fn__6796 invoke "core.clj" 5937] [clojure.core$load_lib invokeStatic "core.clj" 5936] [clojure.core$load_lib doInvoke "core.clj" 5917] [clojure.lang.RestFn applyTo "RestFn.java" 142] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$load_libs invokeStatic "core.clj" 5974] [clojure.core$load_libs doInvoke "core.clj" 5958] [clojure.lang.RestFn applyTo "RestFn.java" 137] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$require invokeStatic "core.clj" 5996] [clojure.core$require doInvoke "core.clj" 5996] [clojure.lang.RestFn invoke "RestFn.java" 805] [vlaaad.reveal.ui$eval201$loading__6737__auto____202 invoke "ui.clj" 1] [vlaaad.reveal.ui$eval201 invokeStatic "ui.clj" 1] [vlaaad.reveal.ui$eval201 invoke "ui.clj" 1] [clojure.lang.Compiler eval "Compiler.java" 7181] [clojure.lang.Compiler eval "Compiler.java" 7170] [clojure.lang.Compiler load "Compiler.java" 7640] [clojure.lang.RT loadResourceScript "RT.java" 381] [clojure.lang.RT loadResourceScript "RT.java" 372] [clojure.lang.RT load "RT.java" 459] [clojure.lang.RT load "RT.java" 424] [clojure.core$load$fn__6856 invoke "core.clj" 6115] [clojure.core$load invokeStatic "core.clj" 6114] [clojure.core$load doInvoke "core.clj" 6098] [clojure.lang.RestFn invoke "RestFn.java" 408] [clojure.core$load_one invokeStatic "core.clj" 5897] [clojure.core$load_one invoke "core.clj" 5892] [clojure.core$load_lib$fn__6796 invoke "core.clj" 5937] [clojure.core$load_lib invokeStatic "core.clj" 5936] [clojure.core$load_lib doInvoke "core.clj" 5917] [clojure.lang.RestFn applyTo "RestFn.java" 142] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$load_libs invokeStatic "core.clj" 5974] [clojure.core$load_libs doInvoke "core.clj" 5958] [clojure.lang.RestFn applyTo "RestFn.java" 137] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$require invokeStatic "core.clj" 5996] [clojure.core$require doInvoke "core.clj" 5996] [clojure.lang.RestFn invoke "RestFn.java" 457] [vlaaad.reveal.repl$eval195$loading__6737__auto____196 invoke "repl.clj" 1] [vlaaad.reveal.repl$eval195 invokeStatic "repl.clj" 1] [vlaaad.reveal.repl$eval195 invoke "repl.clj" 1] [clojure.lang.Compiler eval "Compiler.java" 7181] [clojure.lang.Compiler eval "Compiler.java" 7170] [clojure.lang.Compiler load "Compiler.java" 7640] [clojure.lang.RT loadResourceScript "RT.java" 381] [clojure.lang.RT loadResourceScript "RT.java" 372] [clojure.lang.RT load "RT.java" 459] [clojure.lang.RT load "RT.java" 424] [clojure.core$load$fn__6856 invoke "core.clj" 6115] [clojure.core$load invokeStatic "core.clj" 6114] [clojure.core$load doInvoke "core.clj" 6098] [clojure.lang.RestFn invoke "RestFn.java" 408] [clojure.core$load_one invokeStatic "core.clj" 5897] [clojure.core$load_one invoke "core.clj" 5892] [clojure.core$load_lib$fn__6796 invoke "core.clj" 5937] [clojure.core$load_lib invokeStatic "core.clj" 5936] [clojure.core$load_lib doInvoke "core.clj" 5917] [clojure.lang.RestFn applyTo "RestFn.java" 142] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$load_libs invokeStatic "core.clj" 5974] [clojure.core$load_libs doInvoke "core.clj" 5958] [clojure.lang.RestFn applyTo "RestFn.java" 137] [clojure.core$apply invokeStatic "core.clj" 669] [clojure.core$require invokeStatic "core.clj" 5996] [clojure.core$require doInvoke "core.clj" 5996] [clojure.lang.RestFn applyTo "RestFn.java" 137] [clojure.core$apply invokeStatic "core.clj" 667] [clojure.core$serialized_require invokeStatic "core.clj" 6068] [clojure.core$requiring_resolve invokeStatic "core.clj" 6077] [clojure.core$requiring_resolve invoke "core.clj" 6071] [vlaaad.reveal$repl invokeStatic "reveal.clj" 45] [vlaaad.reveal$repl invoke "reveal.clj" 19] [vlaaad.reveal$repl invokeStatic "reveal.clj" 42] [vlaaad.reveal$repl invoke "reveal.clj" 19] [clojure.lang.AFn applyToHelper "AFn.java" 152] [clojure.lang.RestFn applyTo "RestFn.java" 132] [clojure.lang.Var applyTo "Var.java" 705] [clojure.core$apply invokeStatic "core.clj" 667] [clojure.core$apply invoke "core.clj" 662] [vlaaad.reveal$_main invokeStatic "reveal.clj" 183] [vlaaad.reveal$_main doInvoke "reveal.clj" 173] [clojure.lang.RestFn applyTo "RestFn.java" 137] [clojure.lang.Var applyTo "Var.java" 705] [clojure.core$apply invokeStatic "core.clj" 667] [clojure.main$main_opt invokeStatic "main.clj" 514] [clojure.main$main_opt invoke "main.clj" 510] [clojure.main$main invokeStatic "main.clj" 664] [clojure.main$main doInvoke "main.clj" 616] [clojure.lang.RestFn applyTo "RestFn.java" 137] [clojure.lang.Var applyTo "Var.java" 705] [clojure.main main "main.java" 40]], :cause "javafx.event.EventHandler", :phase :compile-syntax-check}}

user=> (import 'javafx.scene.Node)
Execution error (ClassNotFoundException) at java.net.URLClassLoader/findClass (URLClassLoader.java:382).
javafx.scene.Node
that's the issue, you need either: • a JDK 8 with JavaFX built in • a JDK 11 or higher

JavaFX was a part of JDK until JDK 9 where it was removed from it and released as Maven library

Apparently no version of OpenJDK has JavaFX. I've tried 11 and 16.

I managed to find an OpenJDK with JavaFX from here: https://bell-sw.com/pages/downloads/#clojurebridgemn $ clj Clojure 1.10.3 user=> (import 'javafx.scene.Node) javafx.scene.Node user=> (System/getProperty "java.vm.version") "17+35-LTS"

Now I get: $ clj -Sdeps '{:deps {vlaaad/reveal {:mvn/version "1.3.214"}}}' -m vlaaad.reveal repl WARNING: Implicit use of clojure.main with options is deprecated, use -M Clojure 1.10.3 Exception in thread "JavaFX Application Thread" java.lang.IllegalAccessError: class vlaaad.reveal.font$fn__1899 (in unnamed module @0x62094a51) cannot access class com.sun.javafx.tk.Toolkit (in module javafx.graphics) because module javafx.graphics does not export http://com.sun.javafx.tk to unnamed module @0x62094a51 at vlaaad.reveal.font$fn__1899.invokeStatic(font.clj:44) at vlaaad.reveal.font$fn__1899.invoke(font.clj:44) at clojure.lang.Delay.deref(Delay.java:42) at clojure.core$deref.invokeStatic(core.clj:2324) at clojure.core$deref.invoke(core.clj:2310) at vlaaad.reveal.font$line_height.invokeStatic(font.clj:51) at vlaaad.reveal.font$line_height.invokePrim(font.clj) at vlaaad.reveal.style$fn__1944.invokeStatic(style.clj:116) at vlaaad.reveal.style$fn__1944.invoke(style.clj:32) at clojure.lang.Delay.deref(Delay.java:42) at clojure.core$deref.invokeStatic(core.clj:2324) at clojure.core$deref.invoke(core.clj:2310) at vlaaad.reveal.ui$view.invokeStatic(ui.clj:367) at vlaaad.reveal.ui$view.invoke(ui.clj:335) at clojure.lang.AFn.applyToHelper(AFn.java:154) at clojure.lang.AFn.applyTo(AFn.java:144) at clojure.lang.Var.applyTo(Var.java:705) at clojure.core$apply.invokeStatic(core.clj:669) at clojure.core$apply.invoke(core.clj:662) at cljfx.lifecycle$wrap_map_desc$fn__1434.invoke(lifecycle.clj:446) at cljfx.lifecycle$eval1144$fn__1166$G__1131__1175.invoke(lifecycle.clj:17) at cljfx.renderer$render_component.invokeStatic(renderer.clj:57) at cljfx.renderer$render_component.invoke(renderer.clj:47) at cljfx.renderer$create$fn__1766.invoke(renderer.clj:77) at cljfx.renderer$perform_render$fn__1717.invoke(renderer.clj:23) at cljfx.renderer$perform_render.invokeStatic(renderer.clj:22) at cljfx.renderer$perform_render.invoke(renderer.clj:14) at cljfx.renderer$request_render$fn__1743$fn__1747.invoke(renderer.clj:44) at cljfx.renderer$request_render$fn__1743.invoke(renderer.clj:44) at clojure.lang.AFn.run(AFn.java:22) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(Unknown Source) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source)

please try with -Sforce

jdk 11+ don't have javafx, but reveal (via cljfx) pulls it from maven automatically

$ clj -Sforce -Sdeps '{:deps {vlaaad/reveal {:mvn/version "1.3.214"}}}' -m vlaaad.reveal repl WARNING: Implicit use of clojure.main with options is deprecated, use -M Clojure 1.10.3 Exception in thread "JavaFX Application Thread" java.lang.IllegalAccessError: class vlaaad.reveal.font$fn__1901 (in unnamed module @0xc5b4564) cannot access class com.sun.javafx.tk.Toolkit (in module javafx.graphics) because module javafx.graphics does not export http://com.sun.javafx.tk to unnamed module @0xc5b4564 at vlaaad.reveal.font$fn__1901.invokeStatic(font.clj:44) at vlaaad.reveal.font$fn__1901.invoke(font.clj:44) at clojure.lang.Delay.deref(Delay.java:42) at clojure.core$deref.invokeStatic(core.clj:2324) at clojure.core$deref.invoke(core.clj:2310) at vlaaad.reveal.font$line_height.invokeStatic(font.clj:51) at vlaaad.reveal.font$line_height.invokePrim(font.clj) at vlaaad.reveal.style$fn__1946.invokeStatic(style.clj:116) at vlaaad.reveal.style$fn__1946.invoke(style.clj:32) at clojure.lang.Delay.deref(Delay.java:42) at clojure.core$deref.invokeStatic(core.clj:2324) at clojure.core$deref.invoke(core.clj:2310) at vlaaad.reveal.ui$view.invokeStatic(ui.clj:367) at vlaaad.reveal.ui$view.invoke(ui.clj:335) at clojure.lang.AFn.applyToHelper(AFn.java:154) at clojure.lang.AFn.applyTo(AFn.java:144) at clojure.lang.Var.applyTo(Var.java:705) at clojure.core$apply.invokeStatic(core.clj:669) at clojure.core$apply.invoke(core.clj:662) at cljfx.lifecycle$wrap_map_desc$fn__1434.invoke(lifecycle.clj:446) at cljfx.lifecycle$eval1144$fn__1166$G__1131__1175.invoke(lifecycle.clj:17) at cljfx.renderer$render_component.invokeStatic(renderer.clj:57) at cljfx.renderer$render_component.invoke(renderer.clj:47) at cljfx.renderer$create$fn__1768.invoke(renderer.clj:77) at cljfx.renderer$perform_render$fn__1719.invoke(renderer.clj:23) at cljfx.renderer$perform_render.invokeStatic(renderer.clj:22) at cljfx.renderer$perform_render.invoke(renderer.clj:14) at cljfx.renderer$request_render$fn__1745$fn__1749.invoke(renderer.clj:44) at cljfx.renderer$request_render$fn__1745.invoke(renderer.clj:44) at clojure.lang.AFn.run(AFn.java:22) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(Unknown Source) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source)

the downside is that dependency resolution is dependent on JDK version. maven knows about it, clj doesn't

hmm, what's the JDK are you using?

is it 8 with javafx?

$ java -version openjdk version "17" 2021-09-14 LTS OpenJDK Runtime Environment (build 17+35-LTS) OpenJDK 64-Bit Server VM (build 17+35-LTS, mixed mode, sharing) ~ $ dpkg --get-selections | grep openj libopenjp2-7:amd64 install openjdk-11-jre:amd64 install openjdk-11-jre-headless:amd64 install openjdk-16-jdk:amd64 install openjdk-16-jdk-headless:amd64 install openjdk-16-jre:amd64 install openjdk-16-jre-headless:amd64 install openjdk-8-jdk:amd64 install openjdk-8-jdk-headless:amd64 install openjdk-8-jre:amd64 install openjdk-8-jre-headless:amd64 install

oh, the latest one.. let me give it a try..

Reveal uses some javafx internals, maybe jdk 17 has more restrictions there...

Got it to work with an OpenJDK 11 with JavaFX from BellSoft, but ... $ java -version openjdk version "11.0.12" 2021-07-20 LTS OpenJDK Runtime Environment (build 11.0.12+7-LTS) OpenJDK 64-Bit Server VM (build 11.0.12+7-LTS, mixed mode) ~ $ clj -Sforce -Sdeps '{:deps {vlaaad/reveal {:mvn/version "1.3.214"}}}' -m vlaaad.reveal repl WARNING: Implicit use of clojure.main with options is deprecated, use -M Clojure 1.10.3 user=> WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by vlaaad.reveal.font$fn__1886$fn__1887 to method com.sun.javafx.scene.text.FontHelper.getNativeFont(javafx.scene.text.Font) WARNING: Please consider reporting this to the maintainers of vlaaad.reveal.font$fn__1886$fn__1887 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release

you shouldn't use built-in javafx if you use JDK 11

if on JDK 11 or higher, use a standard one without javafx, since javafx will be pulled from maven

btw:

$ java -version
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment (build 17+35-2724)
OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)
$  clj -Sforce -Sdeps '{:deps {vlaaad/reveal {:mvn/version "1.3.214"}}}' -X vlaaad.reveal/repl
Clojure 1.10.3
user=>
works for me without reflection... hmmm

Interesting. It works for me too, without reflection, using a JDK 8 with JavaFX. Thank you for your help!

Hello, I am trying to start reveal using Lein but the following error is what I get, I've added the nrepl dependency to project clj too. Any help would be appreciated, thanks.

{:clojure.main/message
 "Syntax error compiling var at (/private/var/folders/29/68n_r4gx5r1b0r_21340lcvr0000gn/T/form-init3726843907919701614.clj:1:1611).\nUnable to resolve var: vlaaad.reveal.nrepl/middleware in this context\n",
 :clojure.main/triage
 {:clojure.error/phase :compile-syntax-check,
  :clojure.error/line 1,
  :clojure.error/column 1611,
  :clojure.error/source "form-init3726843907919701614.clj",
  :clojure.error/symbol var,
  :clojure.error/path
  "/private/var/folders/29/68n_r4gx5r1b0r_21340lcvr0000gn/T/form-init3726843907919701614.clj",
  :clojure.error/class java.lang.RuntimeException,
  :clojure.error/cause
  "Unable to resolve var: vlaaad.reveal.nrepl/middleware in this context"},
 :clojure.main/trace
 {:via
  [{:type clojure.lang.Compiler$CompilerException,
    :message
    "Syntax error compiling var at (/private/var/folders/29/68n_r4gx5r1b0r_21340lcvr0000gn/T/form-init3726843907919701614.clj:1:1611).",
    :data
    {:clojure.error/phase :compile-syntax-check,
     :clojure.error/line 1,
     :clojure.error/column 1611,
     :clojure.error/source
     "/private/var/folders/29/68n_r4gx5r1b0r_21340lcvr0000gn/T/form-init3726843907919701614.clj",
     :clojure.error/symbol var},
    :at [clojure.lang.Compiler analyzeSeq "Compiler.java" 7115]}
   {:type java.lang.RuntimeException,
    :message
    "Unable to resolve var: vlaaad.reveal.nrepl/middleware in this context",
    :at [clojure.lang.Util runtimeException "Util.java" 221]}],
  :trace
  [[clojure.lang.Util runtimeException "Util.java" 221]
   [clojure.lang.Compiler$TheVarExpr$Parser parse "Compiler.java" 720]
   [clojure.lang.Compiler analyzeSeq "Compiler.java" 7107]
   [clojure.lang.Compiler analyze "Compiler.java" 6789]
   [clojure.lang.Compiler analyze "Compiler.java" 6745]
   [clojure.lang.Compiler$InvokeExpr parse "Compiler.java" 3888]
   [clojure.lang.Compiler analyzeSeq "Compiler.java" 7109]
   [clojure.lang.Compiler analyze "Compiler.java" 6789]
   [clojure.lang.Compiler analyze "Compiler.java" 6745]
   [clojure.lang.Compiler$InvokeExpr parse "Compiler.java" 3888]
   [clojure.lang.Compiler analyzeSeq "Compiler.java" 7109]
   [clojure.lang.Compiler analyze "Compiler.java" 6789]
   [clojure.lang.Compiler access$300 "Compiler.java" 38]
   [clojure.lang.Compiler$LetExpr$Parser parse "Compiler.java" 6384]
   [clojure.lang.Compiler analyzeSeq "Compiler.java" 7107]
   [clojure.lang.Compiler analyze "Compiler.java" 6789]
   [clojure.lang.Compiler analyze "Compiler.java" 6745]
   [clojure.lang.Compiler$BodyExpr$Parser parse "Compiler.java" 6120]
   [clojure.lang.Compiler$FnMethod parse "Compiler.java" 5467]
   [clojure.lang.Compiler$FnExpr parse "Compiler.java" 4029]
   [clojure.lang.Compiler analyzeSeq "Compiler.java" 7105]
   [clojure.lang.Compiler analyze "Compiler.java" 6789]
   [clojure.lang.Compiler eval "Compiler.java" 7174]
   [clojure.lang.Compiler eval "Compiler.java" 7167]
   [clojure.lang.Compiler eval "Compiler.java" 7167]
   [clojure.lang.Compiler load "Compiler.java" 7636]
   [clojure.lang.Compiler loadFile "Compiler.java" 7574]
   [clojure.main$load_script invokeStatic "main.clj" 475]
   [clojure.main$init_opt invokeStatic "main.clj" 477]
   [clojure.main$init_opt invoke "main.clj" 477]
   [clojure.main$initialize invokeStatic "main.clj" 508]
   [clojure.main$null_opt invokeStatic "main.clj" 542]
   [clojure.main$null_opt invoke "main.clj" 539]
   [clojure.main$main invokeStatic "main.clj" 664]
   [clojure.main$main doInvoke "main.clj" 616]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.lang.Var applyTo "Var.java" 705]
   [clojure.main main "main.java" 40]],
  :cause
  "Unable to resolve var: vlaaad.reveal.nrepl/middleware in this context",
  :phase :compile-syntax-check}}

can you show the command used to launch nrepl server?

e.g. something like

clj -Sdeps '{:deps {vlaaad/reveal {:mvn/version "1.3.214"} nrepl/nrepl {:mvn/version "0.7.0"}}}' -M -m nrepl.cmdline --middleware '[vlaaad.reveal.nrepl/middleware]'
(this one worked for me)

do you use Java 8 btw?

lein repl when it was not part of any profile. Reveal dep was added to the main deps vector. When I tried it with a profile, lein with-profile reveal repl , reveal and nrepl were added to the profile's deps vector.

Actually a straight off

clj \
-Sdeps '{:deps {vlaaad/reveal {:mvn/version "1.3.214"}}}' \
-m vlaaad.reveal repl
also throws the same error.

Tried with azul jdk 8 and 11. I'm guessing it's because of my Apple M1.

Oh that's very interesting. I think it's possible that bumping javafx dep versions in Reveal will make it work on m1

This seems like a different error from the one I posted, but this is what I get when I run the give-it-a-try command.

WARNING: Implicit use of clojure.main with options is deprecated, use -M
Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError: /Users/indy/.openjfx/cache/15.0.1/libprism_es2.dylib: dlopen(/Users/indy/.openjfx/cache/15.0.1/libprism_es2.dylib, 1): no suitable image found.  Did find:
	/Users/indy/.openjfx/cache/15.0.1/libprism_es2.dylib: mach-o, but wrong architecture
	/Users/indy/.openjfx/cache/15.0.1/libprism_es2.dylib: mach-o, but wrong architecture
java.lang.UnsatisfiedLinkError: /Users/indy/.openjfx/cache/15.0.1/libprism_es2.dylib: dlopen(/Users/indy/.openjfx/cache/15.0.1/libprism_es2.dylib, 1): no suitable image found.  Did find:
	/Users/indy/.openjfx/cache/15.0.1/libprism_es2.dylib: mach-o, but wrong architecture
	/Users/indy/.openjfx/cache/15.0.1/libprism_es2.dylib: mach-o, but wrong architecture
	at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
	at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
	at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
	at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
	at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
	at java.base/java.lang.Runtime.load0(Runtime.java:768)
	at java.base/java.lang.System.load(System.java:1837)
	at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:214)
	at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:194)
	at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:135)
	at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:53)
	at com.sun.prism.es2.ES2Pipeline.lambda$static$0(ES2Pipeline.java:69)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:51)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:315)
	at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:218)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
	at java.base/java.lang.Thread.run(Thread.java:829)
Loading library prism_sw from resource failed: java.lang.UnsatisfiedLinkError: /Users/indy/.openjfx/cache/15.0.1/libprism_sw.dylib: dlopen(/Users/indy/.openjfx/cache/15.0.1/libprism_sw.dylib, 1): no suitable image found.  Did find:
	/Users/indy/.openjfx/cache/15.0.1/libprism_sw.dylib: mach-o, but wrong architecture
	/Users/indy/.openjfx/cache/15.0.1/libprism_sw.dylib: mach-o, but wrong architecture
java.lang.UnsatisfiedLinkError: /Users/indy/.openjfx/cache/15.0.1/libprism_sw.dylib: dlopen(/Users/indy/.openjfx/cache/15.0.1/libprism_sw.dylib, 1): no suitable image found.  Did find:
	/Users/indy/.openjfx/cache/15.0.1/libprism_sw.dylib: mach-o, but wrong architecture
	/Users/indy/.openjfx/cache/15.0.1/libprism_sw.dylib: mach-o, but wrong architecture
	at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
	at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
	at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
	at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
	at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
	at java.base/java.lang.Runtime.load0(Runtime.java:768)
	at java.base/java.lang.System.load(System.java:1837)
	at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:214)
	at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:194)
	at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:135)
	at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:53)
	at com.sun.prism.sw.SWPipeline.lambda$static$0(SWPipeline.java:42)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at com.sun.prism.sw.SWPipeline.<clinit>(SWPipeline.java:41)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:315)
	at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:218)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
	at java.base/java.lang.Thread.run(Thread.java:829)
Graphics Device initialization failed for :  es2, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
	at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
	at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244)
	at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:261)
	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
	at javafx.application.Platform.startup(Platform.java:103)
	at cljfx.jdk.platform$initialize.invokeStatic(platform.clj:6)
	at cljfx.jdk.platform$initialize.invoke(platform.clj:4)
	at cljfx.platform$initialize.invokeStatic(platform.clj:30)
	at cljfx.platform$initialize.invoke(platform.clj:29)
	at cljfx.api$eval1785.invokeStatic(api.clj:85)
	at cljfx.api$eval1785.invoke(api.clj:72)
	at clojure.lang.Compiler.eval(Compiler.java:7181)
	at clojure.lang.Compiler.load(Compiler.java:7640)
	at clojure.lang.RT.loadResourceScript(RT.java:381)
	at clojure.lang.RT.loadResourceScript(RT.java:372)
	at clojure.lang.RT.load(RT.java:459)
	at clojure.lang.RT.load(RT.java:424)
	at clojure.core$load$fn__6856.invoke(core.clj:6115)
	at clojure.core$load.invokeStatic(core.clj:6114)
	at clojure.core$load.doInvoke(core.clj:6098)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.core$load_one.invokeStatic(core.clj:5897)
	at clojure.core$load_one.invoke(core.clj:5892)
	at clojure.core$load_lib$fn__6796.invoke(core.clj:5937)
	at clojure.core$load_lib.invokeStatic(core.clj:5936)
	at clojure.core$load_lib.doInvoke(core.clj:5917)
	at clojure.lang.RestFn.applyTo(RestFn.java:142)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$load_libs.invokeStatic(core.clj:5974)
	at clojure.core$load_libs.doInvoke(core.clj:5958)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$require.invokeStatic(core.clj:5996)
	at clojure.core$require.doInvoke(core.clj:5996)
	at clojure.lang.RestFn.invoke(RestFn.java:805)
	at vlaaad.reveal.ui$eval201$loading__6737__auto____202.invoke(ui.clj:1)
	at vlaaad.reveal.ui$eval201.invokeStatic(ui.clj:1)
	at vlaaad.reveal.ui$eval201.invoke(ui.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:7181)
	at clojure.lang.Compiler.eval(Compiler.java:7170)
	at clojure.lang.Compiler.load(Compiler.java:7640)
	at clojure.lang.RT.loadResourceScript(RT.java:381)
	at clojure.lang.RT.loadResourceScript(RT.java:372)
	at clojure.lang.RT.load(RT.java:459)
	at clojure.lang.RT.load(RT.java:424)
	at clojure.core$load$fn__6856.invoke(core.clj:6115)
	at clojure.core$load.invokeStatic(core.clj:6114)
	at clojure.core$load.doInvoke(core.clj:6098)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.core$load_one.invokeStatic(core.clj:5897)
	at clojure.core$load_one.invoke(core.clj:5892)
	at clojure.core$load_lib$fn__6796.invoke(core.clj:5937)
	at clojure.core$load_lib.invokeStatic(core.clj:5936)
	at clojure.core$load_lib.doInvoke(core.clj:5917)
	at clojure.lang.RestFn.applyTo(RestFn.java:142)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$load_libs.invokeStatic(core.clj:5974)
	at clojure.core$load_libs.doInvoke(core.clj:5958)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$require.invokeStatic(core.clj:5996)
	at clojure.core$require.doInvoke(core.clj:5996)
	at clojure.lang.RestFn.invoke(RestFn.java:457)
	at vlaaad.reveal.repl$eval195$loading__6737__auto____196.invoke(repl.clj:1)
	at vlaaad.reveal.repl$eval195.invokeStatic(repl.clj:1)
	at vlaaad.reveal.repl$eval195.invoke(repl.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:7181)
	at clojure.lang.Compiler.eval(Compiler.java:7170)
	at clojure.lang.Compiler.load(Compiler.java:7640)
	at clojure.lang.RT.loadResourceScript(RT.java:381)
	at clojure.lang.RT.loadResourceScript(RT.java:372)
	at clojure.lang.RT.load(RT.java:459)
	at clojure.lang.RT.load(RT.java:424)
	at clojure.core$load$fn__6856.invoke(core.clj:6115)
	at clojure.core$load.invokeStatic(core.clj:6114)
	at clojure.core$load.doInvoke(core.clj:6098)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.core$load_one.invokeStatic(core.clj:5897)
	at clojure.core$load_one.invoke(core.clj:5892)
	at clojure.core$load_lib$fn__6796.invoke(core.clj:5937)
	at clojure.core$load_lib.invokeStatic(core.clj:5936)
	at clojure.core$load_lib.doInvoke(core.clj:5917)
	at clojure.lang.RestFn.applyTo(RestFn.java:142)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$load_libs.invokeStatic(core.clj:5974)
	at clojure.core$load_libs.doInvoke(core.clj:5958)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$require.invokeStatic(core.clj:5996)
	at clojure.core$require.doInvoke(core.clj:5996)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invokeStatic(core.clj:667)
	at clojure.core$serialized_require.invokeStatic(core.clj:6068)
	at clojure.core$requiring_resolve.invokeStatic(core.clj:6077)
	at clojure.core$requiring_resolve.invoke(core.clj:6071)
	at vlaaad.reveal$repl.invokeStatic(reveal.clj:45)
	at vlaaad.reveal$repl.invoke(reveal.clj:19)
	at vlaaad.reveal$repl.invokeStatic(reveal.clj:42)
	at vlaaad.reveal$repl.invoke(reveal.clj:19)
	at clojure.lang.AFn.applyToHelper(AFn.java:152)
	at clojure.lang.RestFn.applyTo(RestFn.java:132)
	at clojure.lang.Var.applyTo(Var.java:705)
	at clojure.core$apply.invokeStatic(core.clj:667)
	at clojure.core$apply.invoke(core.clj:662)
	at vlaaad.reveal$_main.invokeStatic(reveal.clj:183)
	at vlaaad.reveal$_main.doInvoke(reveal.clj:173)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.lang.Var.applyTo(Var.java:705)
	at clojure.core$apply.invokeStatic(core.clj:667)
	at clojure.main$main_opt.invokeStatic(main.clj:514)
	at clojure.main$main_opt.invoke(main.clj:510)
	at clojure.main$main.invokeStatic(main.clj:664)
	at clojure.main$main.doInvoke(main.clj:616)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.lang.Var.applyTo(Var.java:705)
	at clojure.main.main(main.java:40)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
	at java.base/java.lang.Thread.run(Thread.java:829)
Syntax error compiling at (cljfx/api.clj:72:1).
No toolkit found

Although probably not with java 8..

This second error also is thrown along with the middleware not found error when I invoke lein repl.

I'll try bumping javafx deps in cljfx/reveal today, but I don't have an m1 mac to verify it works

I can try with the git sha?

And thanks for taking a look at this 🙂

Maybe you can try to see if it will help by specifying javafx deps explicitly

These are the deps, you can try version "17"

Nice, I'll try that

Also an aside, I need to add :pedantic? false to project.clj if I'm adding reveal, otherwise lein complains about pathological deps tree and throws a stackoverflow error. Any idea if this is a lein or reveal issue?

Pathological dependency tree detected; consider disabling pedantic.

Glad that worked, I'll bump deps and release new versions of cljfx and reveal today

👍 1

Haven't seen this psychological thing before

Pathological I mean :D

Released vlaaad/reveal {:mvn/version "1.3.216"} with bumped JavaFX deps

🎉 1