File tree Expand file tree Collapse file tree
main/clojure/clojure/tools/build
test/clojure/clojure/tools/build/tasks Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11Changelog
22===========
33
4+ * next
5+ * java-command - TBUILD-14 Use : jvm-opts from aliases in basis, if provided
46* v0.9.4 76b78fe on Mar 6, 2023
57 * uber - exclude Emacs backup files from uberjar inclusion (useful with local/git deps)
68 * uber - improve error message when file in local or git lib can't be read
Original file line number Diff line number Diff line change 22
33 :deps
44 {org.clojure/clojure {:mvn/version " 1.11.1" }
5- org.clojure/tools.deps {:mvn/version " 0.17.1297 " }
5+ org.clojure/tools.deps {:mvn/version " 0.18.1354 " }
66 ; org.clojure/tools.deps {:git/url "https://github.com/clojure/tools.deps.git"
77 ; :git/sha "459222ca6e4fce91cf5838435589a028cedbc784"}
88 org.clojure/tools.namespace {:mvn/version " 1.3.0" }
Original file line number Diff line number Diff line change 172172 Options:
173173 :java-cmd - Java command, default = $JAVA_CMD or 'java' on $PATH, or $JAVA_HOME/bin/java
174174 :cp - coll of string classpath entries, used first (if provided)
175- :basis - runtime basis used for classpath, used last (if provided)
175+ :basis - runtime basis used for classpath and jvm opts from aliases , used last (if provided)
176176 :java-opts - coll of string jvm opts
177177 :main - required, main class symbol
178178 :main-args - coll of main class args
Original file line number Diff line number Diff line change 158158 [{:keys [java-cmd cp basis java-opts main main-args use-cp-file]
159159 :or {use-cp-file :auto } :as _params}]
160160 (let [cmd (or java-cmd (java-executable ))
161- {:keys [classpath-roots]} basis
161+ {:keys [classpath-roots argmap ]} basis
162162 cp-entries (concat cp classpath-roots)
163- cp-str (deps/join-classpath cp-entries)]
164- {:command-args (make-java-args cmd java-opts cp-str main main-args use-cp-file)}))
163+ cp-str (deps/join-classpath cp-entries)
164+ combined-java-opts (concat java-opts (:jvm-opts argmap))]
165+ {:command-args (make-java-args cmd combined-java-opts cp-str main main-args use-cp-file)}))
Original file line number Diff line number Diff line change 99(ns clojure.tools.build.tasks.test-process
1010 (:require
1111 [clojure.test :refer :all ]
12+ [clojure.set :as set]
13+ [clojure.tools.build.api :as api]
1214 [clojure.tools.build.tasks.process :as process]))
1315
1416(deftest test-need-cp-file
1820 " Windows 10" " 9.0.1" 10000 true
1921 " Windows 10" " 9.0.1" 5000 false
2022 " Windows 10" " 1.8.0_261" 10000 false
21- " Mac OS X" " 17" 10000 false )))
23+ " Mac OS X" " 17" 10000 false )))
24+
25+ (deftest test-java-process-uses-and-merges-basis-jvm-opts
26+ (let [basis (api/create-basis {:extra {:aliases {:opts {:jvm-opts [" -Dhi=there" ]}}}
27+ :aliases [:opts ]})
28+ command (api/java-command {:basis basis, :main 'clojure.main, :java-opts [" -Dfoo=bar" ]})]
29+ (is (set/subset? #{" -Dhi=there" " -Dfoo=bar" } (set (:command-args command))))))
You can’t perform that action at this time.
0 commit comments