2011-09-14 20 views
20

我有一個雷音項目在一個目錄,而不是使用所下載該.jar當我運行clojure lein:我如何在我的項目中包含來自其他目錄的源代碼?

> 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"]]) 

我想用從GitHub泛音回購,而不是從clojars之一。

https://github.com/overtone/overtone

這可能嗎?

回答

20

您可以使用檢出依賴關係。從Leiningen's README

問:我想破解並行的兩個項目,但它很煩人他們之間 開關。

答:使用稱爲檢出依賴項的功能。如果您在您的項目根目錄下創建一個名爲checkouts的目錄,並將其他一些 項目根插入其中,Leiningen將允許您在 平行線中對它們進行破解。這意味着依賴關係的變化將在 主項目中可見,而無需通過整個 install/switch-projects/deps/restart-repl循環。請注意,這不是 一個替代項目在:dependencies上市;它只是 補充說明爲更緊密的更改週期。

+0

添加checkout目錄並鏈接回購沒有奏效。我需要在這裏做更多嗎?我沒有看到其他地方描述的這個功能。 – prismofeverything

+2

如果您在checkout目錄中添加了一個鏈接,則不需要在project.clj文件中指定依賴項。與文檔暗示的相反,您應該從project.clj文件中刪除引用,否則lein deps仍然會中斷。 –

+0

Joost是正確的,你應該從project.clj中的dependencies中刪除overtone。 – mtyaka

1

當我使用lein時,我只是將符號鏈接放在我的項目目錄中,以檢出Overtone源目錄。

這些日子我使用我的Overtone黑客的蛋糕,它支持將外部項目添加到班級路徑。你只需要在項目的.cake/config文件中添加project.classpath的路徑:

project.classpath = /Users/sam/Development/improcess/lib/overtone/src: 
相關問題