请在2024年Clojure状态调查!中分享您的看法。

欢迎!请查看关于页面了解有关如何工作的更多信息。

+1
Clojure CLI

我试图从clojure --help中寻找指导,并阅读clojure.org上的文档,但我找不到任何可以在找不到-M:undeclared-alias时“快速失败”的CLI选项标志?

目前(至少在1.11.1.1155版本中),你只会得到一个警告并随后显示REPL提示符。
❯ clojure -M:not-found WARNING: Specified aliases are undeclared and are not being used: [:not-found] Clojure 1.11.1 user=> ^D ❯ clojure -version Clojure CLI版本 1.11.1.1155

我希望至少在clojure工具中有一个选项,当你尝试使用未声明的别名调用时,它会退出代码大于0,而不是打印警告并正常继续。例如,CI构建可以在遇到拼写错误或配置错误时快速失败。

类似于--strict-aliases


我今天在我们的CI构建中遇到了这个不幸的行为,CI脚本错误地进入了一个错误的目录,并尝试启动我们在deps.edn中定义的别名,它应该包含{:main-opts ["--main" "our-test.runner"]}

因此,CI在错误的目录中做了这个clojure -M:our-tests,而这个目录中没有deps.edn文件。结果是只显示了REPL提示符 - 之后,不知为什么,与这个无关,构建作业以exit 0退出,流水线变为绿色。
我恰好随机注意到它实际上并没有运行测试。哎呀。

当然,我可以在CI脚本中对clojure调用的周围做一些检查,但我感觉CLI的这个特性可能很有用。

1 答案

+2
by
已选择 by
 
最佳答案

我记录了https://clojure.atlassian.net/browse/TDEPS-230。不确定我是否真的想这样做,但我想先保留这个想法一段时间。

...