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/.
Eamonn Sullivan 2020-01-23T22:05:57.003100Z

Hi, I'm trying to create a native image out of a small app that uses clj-http. The app hits an API (at https) and needs client authentication using certs. It runs OK in the jvm, but if I try to create a native image out of it, I'm getting Error: No instances of <http://javax.net|javax.net>.ssl.SSLContext are allowed in the image heap as this class should be initialized at image runtime. Am I reading that right, that I can't use anything SSL-ish in a native image? That seems kind of a severe limitation.

Cora (she/her) 2020-01-23T22:09:54.003600Z

not sure if it's a good solution but there's borkdude's fork that works with babashka which in theory means it will work with graalvm in general https://github.com/borkdude/clj-http-lite/

Cora (she/her) 2020-01-23T22:09:59.003800Z

unless there's something else going on

Cora (she/her) 2020-01-23T22:10:30.004400Z

(note: I have extremely little idea what I'm talking about)

borkdude 2020-01-23T22:10:41.004700Z

affirmative, clj-http-lite works with graalvm

Eamonn Sullivan 2020-01-23T22:11:33.005500Z

Ah, OK. Will try clj-http-lite.

borkdude 2020-01-23T22:12:29.006400Z

my fork of martinklepsch's fork simply removed an external dependency (slingshot) so babashka didn't have to support that

borkdude 2020-01-23T22:12:41.006600Z

but other than that it's the same

borkdude 2020-01-23T22:14:52.006900Z

taylor's clojurl is also built using clj-http-lite: https://github.com/taylorwood/clojurl