我试图从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的这个特性可能很有用。