我在项目中有一个 :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
)。
这是预期的吗?这应该更容易吗?