tools-build

tatut 2025-06-04T12:20:11.641689Z

if I do b/compile-clj what ClassVersion will the generated classes have? does it depend on the jdk used in the compilation process?

tatut 2025-06-04T12:25:59.101979Z

looks like 52 ( Java 8 ) , as per javap -v (compiled with openjdk23)

dpsutton 2025-06-04T13:28:44.857479Z

i believe that’s the classfile version of the Clojure compiler and cannot be adjusted higher or lower.

dpsutton 2025-06-04T13:29:03.715439Z

ie, whether bytecode is in memory or disk you are getting java 8 bytecode

Alex Miller (Clojure team) 2025-06-04T14:05:48.799739Z

Correct, it is always Java 8 bytecode, this is hardcoded in the compiler

Alex Miller (Clojure team) 2025-06-04T14:06:16.622309Z

(Likely to move forward in clojure 1.13)

Alex Miller (Clojure team) 2025-06-04T14:10:31.165729Z

Does not use the Java compiler, so that’s irrelevant here

✅ 1
tatut 2025-06-05T07:19:34.457719Z

for context, I had a case of having to upgrade JVM used in Github Actions because the newer google closure had jdk21 (65) class versions, so I wanted to check that it won't affect the build