clojure lein: Как мне включить источник из другого каталога в мой проект? - PullRequest
19 голосов
/ 14 сентября 2011

У меня есть проект lein в одном каталоге, и вместо использования .jar, который загружается при запуске

> lein deps

Я хочу использовать источник из клонированного репозитория github (последние исправления отсутствуют в текущем jar-файле). Какой канонический способ сделать это с 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"]])

Я хочу использовать репозиторий с обертонами из github, а не из clojars.

https://github.com/overtone/overtone

Возможно ли это?

Ответы [ 2 ]

19 голосов
/ 14 сентября 2011

Вы можете использовать зависимости извлечения. От ЧТЕНИЕ Лейнингена :

В: Я хочу взломать два проекта параллельно, но это раздражает переключаться между ними.

A: Используйте функцию, называемую зависимостями извлечения. Если вы создаете директория с именем checkouts в корневом каталоге вашего проекта и символическая ссылка Проект корни в нем, Leiningen позволит вам взломать их в параллельно. Это означает, что изменения в зависимости будут видны в Основной проект без необходимости проходить через весь цикл install / switch-projects / deps / restart-repl. Обратите внимание, что это не замена для перечисления проекта в :dependencies; это просто дополняет, что для более жестких циклов изменения.

1 голос
/ 01 ноября 2011

Когда я использовал lein, я просто помещал символические ссылки в своем каталоге проектов в извлеченный каталог с исходным кодом Overtone.

В эти дни я использую торт для моего взлома Overtone, который поддерживает добавление внешних проектов в класс.дорожка.Вам просто нужно добавить путь к project.classpath в файле .cake / config вашего проекта:

project.classpath = /Users/sam/Development/improcess/lib/overtone/src:
...