我在一个目录中有一个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
这可能吗?
答案 0 :(得分:19)
您可以使用结帐依赖项。来自Leiningen's README:
问:我想要并行攻击两个项目,但这很烦人 在它们之间切换。答:使用名为checkout dependencies的功能。如果你创建一个 项目根目录中名为
checkouts
的目录和其他符号链接 项目根植于它,Leiningen将允许你攻击他们 平行。这意味着依赖关系的变化将在 主要项目无需经过整体 install / switch-projects / deps / restart-repl cycle。请注意,事实并非如此 在:dependencies
中列出项目的替代品;它很简单 补充那些更紧密的变化周期。
答案 1 :(得分:1)
当我使用lein时,我只是将项目目录中的符号链接放到已检出的Overtone源目录中。
我现在使用蛋糕来进行我的Overtone黑客攻击,这支持将外部项目添加到类路径中。您只需要在项目的.cake / config文件中添加project.classpath的路径:
project.classpath = /Users/sam/Development/improcess/lib/overtone/src: