在我的项目中有一个 :test
别名,它包括 :jvm-opts
(以及 :extra-paths
和 :extra-deps
)。我用 {:aliases [:test]}
调用 tools.build.api/create-basis
,然后传递该基础到 tools.build.api/java-command
,但那不包括那些JVM选项。
为了获取这些JVM选项,我需要这样做
(defn run-tests
[_]
(let [basis (b/create-basis {:aliases [:test]})
combined (t/combine-aliases basis [:test])
cmds (b/java-command {:basis basis
:java-opts (:jvm-opts combined)
:main 'clojure.main
:main-args ["-m" "cognitect.test-runner"]})
{:keys [exit]} (b/process cmds)]
(when-not (zero? exit)
(throw (ex-info "Tests failed" {})))))
(所以我必须使用 tools.deps.alpha/combine-aliases
)。
这是预期的吗?这应该更简单吗?