leiningen icon indicating copy to clipboard operation
leiningen copied to clipboard

Document handling of dependencies with native components

Open technomancy opened this issue 11 years ago • 2 comments
trafficstars

This stuff works fairly well but you have to read the code to understand how it works.

technomancy avatar Dec 01 '13 20:12 technomancy

:+1: for implementing this. In the Overtone project, this issue https://github.com/overtone/overtone/issues/274 that I'm trying to help with and my subsequent question on stackoverflow here http://stackoverflow.com/questions/21436744/best-practice-for-a-clojure-library-that-uses-native-libs have gone unanswered.

Basically, I don't know if it is a documentation issue or a Leiningen issue/missing feature. Can a project with native libraries depend on a project with native libraries and have independent locations for these native libraries?

rogerallen avatar Feb 06 '14 14:02 rogerallen

This is a documentation issue. We need someone who actually uses native dependencies to help out and describe how to produce and consume them.

Setting :native in the :dependencies vector is a project-local change, and it won't be picked up by your downstream dependencies. There's no way to communicate this information via pom files, which is how the whole dependency system works. If a single project depends on two libraries that have conflicting native components, it's up to the consumer to straighten things out.

technomancy avatar Feb 06 '14 17:02 technomancy