clojure lein:如何在项目的其他目录中包含源代码?

问题描述 投票:19回答:2

我在一个目录中有一个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

这可能吗?

clojure github dependencies leiningen
2个回答
19
投票

您可以使用结帐依赖项。来自Leiningen's README

问:我想并行攻击两个项目,但在它们之间切换很烦人。

答:使用名为checkout dependencies的功能。如果您在项目根目录中创建一个名为checkouts的目录,并将符号链接其他一些项目,则Leiningen将允许您并行攻击它们。这意味着在主项目中可以看到依赖项的更改,而无需完成整个install / switch-projects / deps / restart-repl循环。请注意,这不是在:dependencies中列出项目的替代品;它只是补充了更紧凑的变化周期。


1
投票

回到我使用lein的时候,我只需将符号链接放在我的项目目录中,就可以找到Overtone源目录。

这些天我使用蛋糕作为我的Overtone黑客,它支持在类路径中添加外部项目。您只需要在项目的.cake / config文件中添加project.classpath的路径:

project.classpath = /Users/sam/Development/improcess/lib/overtone/src:
© www.soinside.com 2019 - 2024. All rights reserved.