当在启动 clojure 时启用别名时,在处理(传递性)依赖的 deps.edn
文件时传递这些别名是否合理?
这与但不完全相同:允许在指向 deps.edn 项目的坐标中指定别名 Allow specifying aliases in coordinates that point to deps.edn projects (JIRA TDEPS-116)。
用例
我正在开发几个相互关联的库。其中之一 lambdaisland/chui-ui
,有一个名为 garden 的开发时依赖。发布版本不需要 garden,它包含编译后的 css。
chui-ui
是 chui
的依赖,而 chui
是 kaocha-cljs2
的依赖。当我在这些中任何一个上工作的时候,我会使用 :local/root
设置依赖,这样我可以轻松地在不同的源之间工作。
;; chui-ui {:aliases {:dev {:extra-deps {garden ...}}}}
;; chui {:deps {chui-ui {:local/root "modules/chui-ui"}}}
;; kaocha-cljs2 {:deps {chui {:local/root "../chui"}}}
但这不起作用,因为当我在 chui
或 kaocha-cljs2
内启动 clojure -A:dev
时,garden 依赖没有被选中。为了使其工作,我需要将那个与 garden 的 :dev
别名复制到顶级项目中,即使 chui 或 kaocha-cljs2 与 garden 无关。