graalvm

Discuss GraalVM related topics. Use clojure 1.10.2 or newer for all new projects. Contribute to https://github.com/clj-easy/graal-docs and https://github.com/BrunoBonacci/graalvm-clojure. GraalVM slack: https://www.graalvm.org/slack-invitation/.
ikitommi 2020-10-07T14:16:55.082700Z

hi, I would like to ensure a lib (https://github.com/metosin/malli) works with GraalVM. Any tips / samples on how to add a CircleCI-graalvm build for a deps-project?

borkdude 2020-10-07T14:18:12.083900Z

@ikitommi check out https://github.com/lread/clj-graal-docs for a hello world project using deps.edn. it also has notes on testing. I usually create a small command line app which I test on the JVM by shelling out to that CLI

borkdude 2020-10-07T14:20:03.085100Z

the only difference between lein and deps.edn is: with deps.edn you call compile yourself on your main file and then you don't add the uberjar to GraalVM, but the classpath containing the compiled classes, so like --classpath $(clojure -Spath:classes)

borkdude 2020-10-07T14:20:52.085800Z

for running GraalVM on CircleCI: all my GraalVM-based project run on CircleCI so check out any of those

ikitommi 2020-10-07T14:21:13.086400Z

will follow that guideline & your project for the circleci, thanks!

borkdude 2020-10-07T14:21:46.086900Z

Alternatively you could also try to hook malli into babashka and then run babashka's clojure.test with your existing tests. This will be a more extensive test, but also probably more work.

borkdude 2020-10-07T14:23:31.087300Z

I know @lee has done this before with rewrite-cljc

borkdude 2020-10-07T14:25:03.087800Z

@ikitommi my recent dynaload project also is running a binary compiled with deps.edn: https://github.com/borkdude/dynaload

lread 2020-10-07T17:26:48.089Z

@ikitommi if you want to run unit tests our notes might help: https://github.com/lread/clj-graal-docs/blob/master/doc/testing-strategies.md

1👍