|
164 | 164 | (defn get-env-var [^String env-var] |
165 | 165 | ( #?(:clj System/getenv |
166 | 166 | :cljr Environment/GetEnvironmentVariable) env-var)) |
| 167 | +#?( |
| 168 | +:clj |
167 | 169 |
|
168 | 170 | (defn user-deps-path |
169 | 171 | "Use the same logic as clj to calculate the location of the user deps.edn. |
|
177 | 179 | :else (str home directory-separator ".clojure"))] |
178 | 180 | (str config-dir directory-separator "deps.edn"))) |
179 | 181 |
|
| 182 | +:cljr |
| 183 | + |
| 184 | +(defn user-deps-path |
| 185 | + "Use the same logic as clj to calculate the location of the user deps.edn. |
| 186 | + Note that it's possible no file may exist at this location." |
| 187 | + ([] |
| 188 | + (user-deps-path "deps-clr.edn")) |
| 189 | + ([filename] |
| 190 | + (let [config-env (get-env-var "CLJ_CONFIG") |
| 191 | + xdg-env (get-env-var "XDG_CONFIG_HOME") |
| 192 | + home (get-user-home) |
| 193 | + config-dir (cond config-env config-env |
| 194 | + xdg-env (str xdg-env directory-separator "clojure") |
| 195 | + :else (str home directory-separator ".clojure"))] |
| 196 | + (str config-dir directory-separator filename)))) |
| 197 | + |
| 198 | +) |
180 | 199 | #?( |
181 | 200 | :clj |
182 | 201 |
|
|
202 | 221 | ([] |
203 | 222 | (find-edn-maps nil)) |
204 | 223 | ([project-edn-file] |
205 | | - (let [user-loc (cio/file-info (user-deps-path)) |
206 | | - f1-loc (cio/file-info (str dir/*the-dir* directory-separator "deps-clr.edn")) |
207 | | - project-loc |
208 | | - (cond project-edn-file (cio/file-info project-edn-file) |
209 | | - (.Exists f1-loc) f1-loc |
210 | | - :else (cio/file-info (str dir/*the-dir* directory-separator "deps.edn")))] |
| 224 | + (let [user-loc1 (cio/file-info (user-deps-path "deps-clr.edn")) |
| 225 | + user-loc2 (cio/file-info (user-deps-path "deps.edn")) |
| 226 | + user-loc (cond (.Exists user-loc1) user-loc1 |
| 227 | + (.Exists user-loc2) user-loc2 |
| 228 | + :else user-loc1) |
| 229 | + project-loc1 (cio/file-info (str dir/*the-dir* directory-separator "deps-clr.edn")) |
| 230 | + project-loc2 (cio/file-info (str dir/*the-dir* directory-separator "deps.edn")) |
| 231 | + project-loc (cond (.Exists project-loc1) project-loc1 |
| 232 | + (.Exists project-loc2) project-loc2 |
| 233 | + :else project-loc1)] |
211 | 234 | (cond-> {:root-edn (root-deps)} |
212 | 235 | (.Exists user-loc) (assoc :user-edn (slurp-deps user-loc)) |
213 | 236 | (.Exists project-loc) (assoc :project-edn (slurp-deps project-loc)))))) |
|
978 | 1001 | [{:keys [root user project extra] :as params |
979 | 1002 | :or {root :standard, user :standard, project :standard}}] |
980 | 1003 | (let [root-edn (choose-deps root #(root-deps)) |
981 | | - user-edn (choose-deps user #(-> (user-deps-path) #?(:clj jio/file :cljr identity) dir/canonicalize slurp-deps)) |
982 | | - project-edn (choose-deps project #(or (-> "deps-clr.edn" #?(:clj jio/file :cljr identity) dir/canonicalize slurp-deps) |
983 | | - (-> "deps.edn" #?(:clj jio/file :cljr identity) dir/canonicalize slurp-deps))) |
| 1004 | + user-edn (choose-deps user #(-> (user-deps-path) jio/file dir/canonicalize slurp-deps)) |
| 1005 | + project-edn (choose-deps project #(-> "deps.edn" jio/file dir/canonicalize slurp-deps)) |
984 | 1006 | extra-edn (choose-deps extra (constantly nil))] |
985 | 1007 | (cond-> {} |
986 | 1008 | root-edn (assoc :root root-edn) |
|
996 | 1018 | [{:keys [root user project extra] :as params |
997 | 1019 | :or {root :standard, user :standard, project :standard}}] |
998 | 1020 | (let [root-edn (choose-deps root #(root-deps)) |
999 | | - user-edn (choose-deps user #(-> (user-deps-path) #?(:clj jio/file :cljr identity) dir/canonicalize slurp-deps)) |
| 1021 | + user-edn (choose-deps user #(or (-> (user-deps-path "deps-clr.edn") dir/canonicalize slurp-deps) |
| 1022 | + (-> (user-deps-path "deps-clr.edn") dir/canonicalize slurp-deps))) |
1000 | 1023 | project-edn (choose-deps project #(or |
1001 | | - (-> "deps-clr.edn" #?(:clj jio/file :cljr identity) dir/canonicalize slurp-deps) |
1002 | | - (-> "deps.edn" #?(:clj jio/file :cljr identity) dir/canonicalize slurp-deps))) |
| 1024 | + (-> "deps-clr.edn" dir/canonicalize slurp-deps) |
| 1025 | + (-> "deps.edn" dir/canonicalize slurp-deps))) |
1003 | 1026 | extra-edn (choose-deps extra (constantly nil))] |
1004 | 1027 | (cond-> {} |
1005 | 1028 | root-edn (assoc :root root-edn) |
1006 | 1029 | user-edn (assoc :user user-edn) |
1007 | 1030 | project-edn (assoc :project project-edn) |
1008 | 1031 | extra-edn (assoc :extra extra-edn)))) |
1009 | | - |
1010 | 1032 |
|
1011 | 1033 | ) |
1012 | 1034 |
|
|
0 commit comments