is it possible for uberjar aot to compile java11 class files instead of java8 like it does now?
@danboykis maybe comes down to what clj version you are using
@mikerod 1.10.1
Why do you need it to compile higher version classfiles?
Newer jvm can run older classfile version.
But I think this is likely more of a #clojure question
Don’t think anything lein can do specifically. Unless I’m not thinking of something.
@mikerod no reason, I was just curious
https://clojure.atlassian.net/plugins/servlet/mobile?originPath=%2Fbrowse%2FCLJ-2363#issue/CLJ-2363
Maybe related
For background.
i think you're right, clojure doesn't build anything beyond 1.8
it has nothing to do with lein
Yeah. It embeds the asm bytecode emitter.
And I think has a fixed target
It does
So rolling back to the original question, the answer to java 11 class files is no
Clojure (1.9-1.10.1) emits only java 8 class files
since hooks are deprecated what is the recommended replacement(s)?
@danboykis I think https://github.com/technomancy/leiningen/issues/2387#issuecomment-359265031 is relevant and some other related stuff
It’s more that it is a brittle/fragile thing to do - and lein
shouldn’t go out of it’s way to explicitly support it
I believe that’s the idea. You can still use hooks yourself from within a plugin, but it’s definitely better to try to avoid it if you can get the functionality another way
this is my take on it. I don’t think there is an easy answer to what “replaces” it
sometimes the reason you use a hook is because the lib/api you are using doesn’t give you enough “granularity” (or should I say “hooks”) to tweak the behavior you want. in that case, perhaps try using the lib different, not at all/an alternative impl, or ask for changes?
hooks seem to me to be a somewhat structured way to alter-var-root
on arbitrary internal impl details of libs - aka monkey patching