欢迎!请查阅关于页面以获取更多有关该平台的信息。
以下是我的一般问题陈述(这也适用于monorepo)
deps.edn
~/.clojure/deps.edn
:override-deps
:default-deps
清单1和2由CLI/t.d.a.支持,但没有一个地方可以挂接多项目标准化的部分。
目前,那些想实现3的人正在使用CLJ_CONFIG来提供一个团队的deps.edn文件,但在这个过程中失去了1。这被认为是一种妥协技巧(尽管CLJ_CONFIG 有文档的)。
CLJ_CONFIG
Michiel Borkent指出,他的clj-kondo工具在读取配置数据方面遇到了类似的问题,他的解决方案是提供一个命令行参数,指定要读取的多个配置文件。可以采取类似的方法与Clojure CLI一起使用,允许任意数量的deps.edn文件组合(在系统+用户级文件和命令行-Sdeps数据之前)。
clj-kondo
-Sdeps
当前的“系统+用户+项目+命令行”逻辑本身就已经在tools.deps.alpha中内置,所以这不仅仅是一个CLI脚本更改——而且无论采取什么方法解决这个问题,都需要提供给那些基于用户特定别名在组合的deps.edn环境下运行分析的工具(正如这里讨论的https://ask.clojure.org/index.php/9848/tooling-based-tools-alpha-construct-basis-specified-aliases)。
tools.deps.alpha
哎呀,我提交了跟踪这个问题的jira但忘记在此处添加链接: https://clojure.atlassian.net/projects/TDEPS/issues/TDEPS-174
关于这个问题,我想继续问一个问题。对于“共享”的内容——这是否是共享一系列依赖或一系列依赖版本(类似maven/lein依赖管理)的重要事情?
在后一种情况下,指定版本不会包括依赖,如deps.edn中的:deps - 依赖仍然需要由项目包含,但可以只包含nil坐标,版本由默认值填充。
:deps
需要共享的东西仅仅是别名吗?
还是也包含 dependencies?如果是的话,是只包括外部 dependencies,还是也包括共享项目集中的本地 dependencies?