riemann-java-client icon indicating copy to clipboard operation
riemann-java-client copied to clipboard

Released jar contains compiled clojure.lang classes

Open frenchy64 opened this issue 3 years ago • 7 comments

As of 0.5.1, the jar of this project contains:

clojure/lang/IBlockingDeref.class
clojure/lang/IDeref.class

frenchy64 avatar Jul 01 '21 21:07 frenchy64

Hm... aren't those from here: https://github.com/riemann/riemann-java-client/tree/0a3078c9ff62534e33a1ec972cd04ac4827f854f/riemann-java-client/src/main/java/clojure/lang ?

sanel avatar Jan 14 '22 22:01 sanel

Wow, what are those doing there? :)

frenchy64 avatar Jan 14 '22 22:01 frenchy64

They support Clojure's Deref protocol - see the README.

jamtur01 avatar Jan 14 '22 22:01 jamtur01

Ah, could the project depend on the Clojure jar instead?

frenchy64 avatar Jan 14 '22 23:01 frenchy64

Possibly? Patches welcomed, etc. Thanks.

jamtur01 avatar Jan 16 '22 22:01 jamtur01

Probably a dumb question: why to pull in a complete Clojure runtime just to have two very simple interfaces?

sanel avatar Jan 17 '22 09:01 sanel

why to pull in a complete Clojure runtime just to have two very simple interfaces?

My concern is if Clojure changes these interfaces (eg., adds methods) we would then have 2 different versions of the class on the classpath. If you're unlucky, you may get the old version and be in jar hell.

frenchy64 avatar Jan 17 '22 15:01 frenchy64