请参与 2024 年 Clojure 调查问卷

欢迎!请参阅 关于 页面了解更多有关如何使用本站的信息。

0
Clojure CLI

在 Cursive 的新依赖项集成中,我在 IntelliJ 中调用 make-classpath2,这意味着当前工作目录不是项目目录。当这样做时,我绑定 clojure.tools.deps.util.dir/*the-dir*,大多数事情都能正常工作。但是,有些特例不能工作

  • :mvn/local-repo
  • :local/root 中的 deps 在 :override-deps
  • :classpath-overrides

如果可以使其也能工作,那将是件好事。如果对这个补丁感兴趣,我可以尝试一下。

1 个回答

0

这不应该被视为一个公开的API - 它会定期发生变化,并且不支持在除了当前目录以外的任何目录中使用(它仅从CLI调用,该CLI假定当前目录)。

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

这是关于Cursive中新的集成,它使用deps.clj。该脚本来调用make-classpath2,如果我想对其进行重构以调用`create-basis`,则需要从make-classpath2中复制大量机制,例如所有工具的处理。这次更改的主要目标是避免这种情况。我将找到另一种方法。
...