Хотя это может показаться субъективным, есть конкретный пример, который я хотел бы помочь разрешить. Это связано с проблемой с библиотекой Overtone Clojure https://github.com/overtone/overtone/issues/274, которая, похоже, должна быть "Лучшей практикой" для Leiningen и применяться к большему количеству библиотек, чем просто Overtone.
Overtone - это библиотека Clojure, предназначенная для использования в других проектах. Overtone требует, чтобы родные библиотеки работали, поэтому он использует :native-path "native"
в project.clj https://github.com/overtone/overtone/blob/master/project.clj#L69, чтобы получить правильный путь для родных scsynth-библиотек [overtone/scsynth "3.5.7.0"]
которые используются.
Однако я считаю, что это сбрасывает входящий путь из проекта, который зависит от библиотеки Overtone. См. Проблему для некоторого фона, но в основном после зависимости от [overtone "0.9.1"]
в project.clj (System/getProperty "java.library.path")
возвращается только текущий собственный путь, а проект с использованием Overtone не может проходить по пути к любым локальным библиотекам.
Итак, вопрос в том, как может зависимый проект смешивать локальные родные библиотеки с Overtone? Должен ли Overtone или зависимый проект корректировать настройки project.clj? Как?