technomancy/leiningen

Upgrade to Clojure 1.10.3

kumarshantanu opened this issue · 1 comments

I tried to use Class Data Sharing (CDS) with Java 16 to improve the startup time of Leiningen (version 2.9.6, which uses Clojure 1.10.1), by setting the following:

export LEIN_JVM_OPTS="-XX:ArchiveClassesAtExit=app-cds.jsa -Xshare:on"

However, I got a lot of errors like the ones below:

[2.086s][warning][cds] Pre JDK 6 class not supported by CDS: 49.0 clojure/spec/alpha$fn__2536
[2.086s][warning][cds] Pre JDK 6 class not supported by CDS: 49.0 clojure/spec/gen/alpha$fn__2774
[2.086s][warning][cds] Pre JDK 6 class not supported by CDS: 49.0 clojure/spec/gen/alpha$fn__2802
[2.086s][warning][cds] Pre JDK 6 class not supported by CDS: 49.0 clojure/spec/alpha$cat_impl
[2.086s][warning][cds] Pre JDK 6 class not supported by CDS: 49.0 clojure/spec/alpha$check_asserts

I realized this is due to an old version of clojure.spec in Clojure 1.10.1 - upgrade to Clojure 1.10.3 should fix this. I tried using CDS on a project using Clojure 1.10.3 and ran the uberjar, which resulted in no error.

We're on the latest now.