leiningen
leiningen copied to clipboard
Document handling of dependencies with native components
This stuff works fairly well but you have to read the code to understand how it works.
:+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?
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.