scicloj / clojisr

Clojure speaks statistics - a bridge between Clojure to R
https://scicloj.github.io/clojisr/
Eclipse Public License 2.0
150 stars 10 forks source link

depending on an additional Maven repository #27

Closed daslu closed 4 years ago

daslu commented 4 years ago

Currently, Clojuress depends on Renjin. https://mvnrepository.com/artifact/org.renjin/renjin-script-engine/3.5-beta65

This requires to add an additional Maven repository on any project that depends on Clojuress.

In other words, this does not work:

clj -Sdeps '{:deps {scicloj/clojuress {:mvn/version "1.0.0-BETA4"}}}}'

but this does:

clj -Sdeps '{:mvn/repos {"bedatadriven" {:url "https://nexus.bedatadriven.com/content/groups/public/"}} :deps {scicloj/clojuress {:mvn/version "1.0.0-BETA4"}}}}'

One solution to avoid this would be to load the Renjin jar and add it to the classpath on runtime, when needed, and not through the Leiningen project.

Another one would be to make sure that the Renjin jars live in a more standard place.

daslu commented 4 years ago

Solved in "1.0.0-BETA5". https://github.com/scicloj/clojuress/commit/219a16fc979a0c2e73934bcdf31f020990898a14

daslu commented 4 years ago

The solution was to load the Renjin Jar on the fly, if needed, using alembic: https://github.com/scicloj/clojuress/blob/master/src/clojuress/v1/renjin.clj#L5