21

我在一个目录中有一个 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 的 overtone repo,而不是来自 clojars 的。

https://github.com/overtone/overtone

这可能吗?

4

2 回答 2

21

您可以使用结帐依赖项。来自Leiningen 的自述文件

问:我想同时破解两个项目,但是在它们之间切换很烦人。

答:使用称为结帐依赖项的功能。如果您checkouts在项目根目录中创建一个名为的目录并将其他一些项目根目录符号链接到其中,Leiningen 将允许您并行破解它们。这意味着依赖项的更改将在主项目中可见,而无需经历整个 install/switch-projects/deps/restart-repl 周期。请注意,这不能替代在:dependencies;中列出项目。它只是对更紧凑的变更周期的补充。

于 2011-09-14T05:28:25.767 回答
1

当我使用 lein 时,我只是将符号链接放在我的项目目录中,指向检出的 Overtone 源目录。

这些天,我使用 cake 进行 Overtone hacking,它支持将外部项目添加到类路径中。您只需在项目的 .cake/config 文件中添加 project.classpath 的路径:

project.classpath = /Users/sam/Development/improcess/lib/overtone/src:
于 2011-11-01T12:01:35.657 回答