使用swank-clojure进行Clojure库开发的工作流程

4

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

假设我有一个名为“Foo”的应用程序,它依赖于来自存储库并通过lein deps包含在项目“Foo”中的第三方库“Bar”。

然后,假设我想要对库“Bar”进行黑客攻击,因此我从GitHub上克隆它。

现在,我想在我的本地克隆“Bar”上进行黑客操作,同时又在依赖于它的应用程序“Foo”上工作。 我希望所有“Bar”的源文件与所有“Foo”的源文件一起在Emacs中打开,并使用一个Swank实例。

是否有简单的方法可以做到这一点?

我想要更改我的环境而不是项目。 因此,我不想编辑“Foo”的project.clj来实现这一点。

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

1个回答

5
在您的Foo项目中创建一个名为 checkouts 的目录,并在此目录中创建指向Bar项目克隆的符号链接。
引用Leiningen FAQ中的话:
“问:我想并行开发两个项目,但是在它们之间切换很麻烦。
答:如果您在项目根目录下创建一个名为checkouts的目录,并将其他项目根目录的符号链接到其中,Leiningen将允许您并行进行开发。这意味着依赖项的更改将在主项目中可见,而无需经过整个安装/切换项目/依赖项/重新启动REPL周期,且checkouts中的副本将优先于project.clj中声明的依赖项。请注意,这不是列表中:dependencies的替代品;它仅为方便起见补充了它。”

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接