2024 Clojure 状态调查! 中分享您的想法。

欢迎!请参阅 关于 页面,获取更多关于该网站运行方式的信息。

+1
Clojure CLI

我试图从 clojure --help 获取指导,并在 clojure.org 的文档中进行阅读,但无法找到任何 CLI 选项标志,当找不到 -M:undeclared-alias 时能快速失败。

当前(至少在 1.11.1.1155 中)你只会得到一个警告,随后是 REPL 提示符。
❯ clojure -M:not-found 警告:指定的别名未声明,且未使用:[: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 中定义的别名。

因此,CI 在错误的目录中进行这个 clojure -M:our-tests 操作,该目录没有 deps.edn 文件。结果是只显示了一个 REPL 提示符 - 然后在不知名的原因下,构建工作被退出,返回 exit 0,而整个管道是绿色的。
随机注意到的结果,这实际上并没有运行测试。哎呀。

当然,我可以在 CI 脚本中的 clojure 调用周围添加一些检查,但我认为这可能是 CLI 的一个有益特性。

1 个答案

+2

被选中
 
最佳答案

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

...