Clojure lein: Как включить источник из другого каталога в мой проект?
У меня есть проект lein в одном каталоге и вместо использования .jar, который загружается при запуске
> lein deps
Я хочу использовать источник из клонированного репозитория github (он недавно исправил ошибку в текущей банке). Каков канонический способ сделать это с leiningen?
Вот мой файл проекта:
(defproject oroboros "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.2.1"]
[org.clojure/clojure-contrib "1.2.0"]
[clojure-source "1.2.1"]
[overtone "0.3.0"]
[penumbra "0.6.0-SNAPSHOT"]]
:native-dependencies [[penumbra/lwjgl "2.4.2"]]
:dev-dependencies [[native-deps "1.0.5"]
[swank-clojure "1.4.0-SNAPSHOT"]])
Я хочу использовать overtone repo из github, а не из клоаров.
https://github.com/overtone/overtone
Возможно ли это?
Ответы
Ответ 1
Вы можете использовать зависимостей проверки. Из Leiningen README:
В: Я хочу параллельно с двумя проектами, но это раздражает переключаться между ними.
A: Используйте функцию, называемую зависимостями проверки. Если вы создаете каталог под названием checkouts
в корне вашего проекта и symlink некоторые другие корни проекта, Leiningen позволит вам взломать их в параллельны друг другу. Это означает, что изменения в зависимости будут видны в главный проект без необходимости проходить через весь install/switch-projects/deps/restart-repl. Обратите внимание, что это не замена для перечисления проекта в :dependencies
; это просто добавляет, что для более жестких циклов изменения.
Ответ 2
Назад, когда я использовал lein, я просто помещал символические ссылки в свой каталог проекта в извлеченный исходный каталог Overtone.
Я использую торт для моего взлома Overtone в эти дни, который поддерживает добавление внешних проектов в путь класса. Вам просто нужно добавить путь к project.classpath в файл проекта .cake/config:
project.classpath = /Users/sam/Development/improcess/lib/overtone/src: