4

在 Clojure 库上进行黑客攻击是否有典型的工作流程?

假设我的应用程序“Foo”依赖于第三方库“Bar”,该库是从存储库获得的,并通过lein deps.

然后,假设我想破解库“Bar”,所以我从 github 克隆它。

现在,我想破解我的本地克隆“Bar”,同时处理依赖它的应用程序“Foo”。我希望使用 swank 的一个实例在 Emacs 中打开“Bar”的所有源文件以及“Foo”中的所有源文件。

是否有捷径可寻?

我想改变我的环境而不是项目。因此,我不想为“Foo”编辑 project.clj 来完成此操作。

这是否需要在启动之前设置类路径lein swank,还是有更好的方法?

4

1 回答 1

5

在您的 Foo 项目中创建一个checkouts目录,并在此目录中创建一个指向您的 Bar 项目克隆的符号链接。

引用Leiningen 常见问题解答

:我想同时破解两个项目,但是在它们之间切换很烦人。
:如果您在项目根目录中创建一个名为 checkouts 的目录并将其他一些项目根目录符号链接到其中,Leiningen 将允许您并行破解它们。这意味着依赖项的更改将在主项目中可见,而无需经历整个 install/switch-projects/deps/restart-repl 周期,并且检出中的副本将优先于 project.clj 中声明的依赖项。请注意,这不能替代在 :dependencies; 中列出项目。为了方便起见,它只是对其进行了补充。

于 2012-01-13T08:35:38.923 回答