分享您的想法,参加 2024 Clojure 状态调查!

欢迎!请参阅 关于 页面以获取更多关于这个平台的介绍。

0 投票
tools.deps
已关闭

看起来在 :deps/prep-lib 的 :alias 中定义的 :exec-args 属性没有得到遵守,即不能为 prep :fn 声明默认参数。

参照 Deps and CLI Reference 上的以下说明关于 :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

你为什么需要使用参数映射表?

by
> :deps/prep-lib 按设计不支持使用 :exec-fn 或 :exec-args。

谢谢!我建议在引用的第一句话中提到这一点,这样就不会与第二句话矛盾。

> 你为什么需要使用参数映射表?

为了参数化通用构建任务实现。请参见https://github.com/borkdude/tools/pull/5 中的补丁,它引发了这个问题 - 正如你所见,我现在已经为了相同的目的创建了一个自定义属性:-)
by
我们希望函数是显式的(如 -T),所以不支持 :exec-fn。我们不希望从外部角度允许自助参数,因为准备是在每个用户中只发生一次的事情,不管依赖于哪一个项目,所以它不能是外部可参数化的。但在内部支持参数(:exec-args)确实是有意义的,可以在内部或跨项目之间重用构建函数。 已记录在 https://clojure.atlassian.net/browse/TDEPS-231
...