请在2024年Clojure状态调查!中分享您的想法。

欢迎!请查看关于页面以获取更多关于此如何工作的信息。

0
Clojure CLI

在Cursive的新deps集成中,我从IntelliJ内部调用make-classpath2,这意味着当前工作目录不是项目目录。当我这样做时,我绑定clojure.tools.deps.util.dir/*the-dir*,大部分事情都工作得很好。但是也有一些例外,它们不能正常工作

  • :mvn/local-repo
  • :local/root依赖项在:override-deps内部
  • :classpath-overrides

如果它们也能工作的话,会很好。如果有对此补丁的兴趣,我可以尝试一下。

1 答案

0

这不应被视为公开API - 它经常以破坏性的方式更改,并且不支持用于除当前目录以外的任何目录(它仅从CLI调用,假设当前目录)。

要从deps.edn程序化地创建类路径,应使用clojure.tools.deps/create-basis(可以指定任何目录中的项目deps.edn)。

这是关于在Cursive中新增集成的说明,使用deps.clj。它调用make-classpath2,如果我想重构这部分代码以调用`create-basis`,那么我必须复制大量来自make-classpath2的机制,例如所有工具的处理。我进行这项修改的主要目的是避免这个问题。我会寻找另一种方法。
...