cognitect-labs/REBL-distro

Consider documenting OpenJDK versions that contain JavaFX

jafingerhut opened this issue · 4 comments

The only one I know about right now is Zulu OpenJDK with JavaFX included. Instructions for downloading such a version of OpenJDK 8 and 11 are here: https://github.com/jafingerhut/rebl-experiments#macos-openjdk-with-java-fx-included

With those JDKs on Ubuntu 18.04 Linux, the javafx libraries need not be given, so the same deps.edn file works for both JDK 8 and 11.

With those JDKs on macOS, there is no need to have javafx libraries in the deps.edn file, no need to download and install them separately, and they seem to work.

Also, since many OpenJDK variants do not have JavaFX libraries included, maybe it would be worth listing in the requirements section of the README: https://github.com/cognitect-labs/REBL-distro#requirements

a bullet point something like "A JDK with JavaFX libraries included, or the appropriate JavaFX libraries for your system as dependencies"

Hey, I installed REBL today and found, as mentioned in the wiki and other issues, that simply adding the correct jars to deps.edn just works with any compatible JDK. For instance, I'm using a stock AdoptOpenJDK Java 13 distro on Windows 10. With the deps.edn below I was able to load REBL without doing any additional configuration:

{:paths ["src"]

 :deps {org.clojure/clojure {:mvn/version "1.10.1"}
        org.clojure/core.async {:mvn/version "1.0.567"}}

 :aliases {:rebl {:extra-deps {com.cognitect/rebl {:local/root "C:\\java\\REBL-0.9.220\\REBL-0.9.220.jar"}
                                           org.openjfx/javafx-base {:mvn/version "13"}
                                           org.openjfx/javafx-controls {:mvn/version "13"}
                                           org.openjfx/javafx-fxml {:mvn/version "13"}
                                           org.openjfx/javafx-graphics {:mvn/version "13"}
                                           org.openjfx/javafx-media {:mvn/version "13"}
                                           org.openjfx/javafx-swing {:mvn/version "13"}
                                           org.openjfx/javafx-web {:mvn/version "13"}}}}

... then I can start REBL with the command from the README, clj -R:rebl -m cognitect.rebl.

I actually put some additional JavaFX dependencies that are not needed, like the swing one, I think. The reason is that I'm planning to explore a bit of JavaFX programming and I though it was better to just require everything for a start.

It is great that you got that to work. I am not sure that it works on macOS, at least last time I tried.

REBL 0.9.226 now contains deps.edn files for Java 8 distributions where JavaFX is included (notably NOT AdoptOpenJDK) and Java 11+ with Open JavaFX 15-ea6. These are our recommended usage versions. See https://github.com/cognitect-labs/REBL-distro#usage for more details.