欢迎!请查看关于页面获取更多关于此功能的详细信息。
以下是我的问题概括(这也适用于单一代码仓库)
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
需要共享的东西只有别名吗?
还是也包括 deps?如果是后者,那么它们是否只对外部deps有效,或者是否也包括共享项目集中的本地deps?