2024 年 Clojure 调查问卷! 中分享你的想法。

欢迎!请参阅 关于页面 了解更多关于本网站的信息。

0
tools.deps
已关闭

似乎在一个 :deps/prep-lib:alias 中的 :exec-args 属性不会被尊重,即无法为 prep :fn 声明默认参数。

Deps 和 CLI 参考 中有关 :deps/prep-lib 的以下声明:

这些库将运行由别名和函数指定的命令,就像:clj -T:<alias> <fn>

以及关于 -T 的以下描述:

该函数以与 -X 执行相同的方式使用一个映射调用,如果别名中存在 :exec-args 并在命令行提供了键/值对,则从这些构建。

这看起来似乎应该是可能的。这是实现中的错误,文档中的错误,还是我对它的理解有误? :-)

已关闭,并附注:现在在 1.11.1.1177 中可用

1 答案

0
by
已选择 by
 
最佳答案

按照设计,:deps/prep-lib 不使用 :exec-fn:exec-args

你为什么需要参数映射表(arg map)?

by
> 按照设计,:deps/prep-lib 不使用 :exec-fn:exec-args

谢谢!我建议在第一个引用的句子中提及其他这一点,以便不会与第二个相矛盾。

> 你为什么需要参数映射表(arg map)?

为了参数化通用构建任务实现。请参阅https://github.com/borkdude/tools/pull/5以了解引发问题的问题补丁 - 如您所见,我现在做出了一个定制的属性用于同样的目的 :-)
by
我们希望函数是明确的(如 -T),因此没有 :exec-fn。我们也不希望从外观urally的角度允许非正式参数,因为“准备”是一次性为用户提供的事情,无论哪个项目依赖于它,因此它不能外部参数化。但支持内部参数(:exec-args)作为一个在项目内部或跨项目重用构建函数的方法是有意义的。 登录 https://clojure.atlassian.net/browse/TDEPS-231
...