cljfx

https://github.com/cljfx/cljfx
2020-10-30T19:06:12.122700Z

hi everybody! I'm using org.kordamp.ikonli/ikonli-javafx for icons and they are great, but they provide two different versions of the lib for jdk8 and jdk11 so I can choose only one in my deps.edn and then it only works for one of the versions, which is inconvenient. I currently have a workaround with two aliases that the user needs to add to execute the app, like : clj -A:jdk11 -Sdeps... clj -A:jdk8 -Sdeps... Any ideas if this can be simplified somehow?

2020-10-30T19:06:58.122900Z

Also what is the best approach to release a cljfx app so it is simple for a user and works on multiple jvm version? jar, fatjar, clojars and clj cli ?

vlaaad 2020-10-30T19:22:42.123Z

there is maven stuff called "activation profiles" that allows picking different deps based on jdk version, I used that in cljfx to make it work both on java 8 and java 11

vlaaad 2020-10-30T19:24:35.123500Z

Is it a desktop app? Are you sure you need different JVM versions support? You can package the JVM with app, there is an example how to do that: https://github.com/cljfx/hn

2020-10-30T19:25:02.123800Z

oh nice, thanks for that! will try them

2020-10-30T19:25:34.124Z

also thanks for the awesome lib, I was able to migrate a project written in re-frame to cljfx pretty easy

2020-10-30T19:26:27.124200Z

yes it is a desktop app like reveal

2020-10-30T19:26:50.124400Z

will check that also, thanks!

vlaaad 2020-10-30T19:27:44.124600Z

reveal is not a regular desktop app, because the target audience is clojure developer that runs it in the developed process..

vlaaad 2020-10-30T19:28:27.124800Z

for Reveal it makes sense to distribute it via clojars, since "installation" is naturally done by specifying dev-time deps

vlaaad 2020-10-30T19:28:51.125Z

woah, that's amazing! how big is it?

2020-10-30T19:31:42.125200Z

it is this debugger here https://github.com/jpmonettas/flow-storm-debugger

2020-10-30T19:32:17.125600Z

I just finished migrating all that and more to cljfx, and working on a way to release it now

vlaaad 2020-10-30T19:34:22.125800Z

ah, that's super cool

vlaaad 2020-10-30T19:34:39.126Z

I was thinking about trying to write a custom reveal ui for that

vlaaad 2020-10-30T19:35:12.126300Z

have you considered that? 🙂

vlaaad 2020-10-30T19:36:57.126500Z

it will allow further inspections of debugged values, e.g. not only pprint/layers/calls, but inspecting every value in there

2020-10-30T19:37:39.126700Z

yeah I have been thinking a lot about integrating both projects

2020-10-30T19:38:49.126900Z

so my plan is to release this version which is pure cljfx, then polish it (I'm already using it in my daily job) and then think more on that

vlaaad 2020-10-30T19:39:40.127100Z

👍

2020-10-30T19:42:21.127300Z

but any ideas are welcome!

2020-10-30T19:43:13.127500Z

do you have plans for supporting clojurescript repls in reveal?

vlaaad 2020-10-30T19:44:31.127700Z

they are already supported to some extent with remote prepls: https://vlaaad.github.io/reveal/#remote-prepl

2020-10-30T19:44:39.127900Z

oh nice!

2020-10-30T23:09:22.128100Z

it is not going to be announced until I use this version for some days but here it is https://github.com/jpmonettas/flow-storm-debugger the cljfx version!