Skip to content

Commit

Permalink
Warn about old Clojure instead of trying to automatically update it
Browse files Browse the repository at this point in the history
  • Loading branch information
Deraen committed Jun 13, 2015
1 parent 0e1dbee commit 23cb2fd
Showing 1 changed file with 7 additions and 21 deletions.
28 changes: 7 additions & 21 deletions src/adzerk/boot_cljs.clj
Expand Up @@ -13,31 +13,17 @@
[adzerk.boot-cljs.js-deps :as deps]))

(def cljs-version "0.0-3269")
(def clj-version "1.7.0-RC1")

(def ^:private deps
"ClojureScript dependency to load in the pod if
none is provided via project"
(delay (remove pod/dependency-loaded? `[[org.clojure/clojurescript ~cljs-version]])))

(def ^:private clj? #{'org.clojure/clojure})
(defn- assert-clojure-version
"Update Clojure dependency if the user has not required version 1.7
using BOOT_CLOJURE_VERSION or env :dependencies."
[deps]
(if (some (comp clj? second) deps)
(map (fn [[pkg version :as v]]
(if (and (clj? pkg) (neg? (compare version "1.7.0")))
(do
(info (format "Using Clojure %s for Cljs compiler\n" clj-version))
[pkg clj-version])
v))
deps)
(if (neg? (compare (clojure-version) "1.7.0"))
(do
(info (format "Adding Clojure %s for Cljs compiler\n" clj-version))
(conj deps ['org.clojure/clojure clj-version]))
deps)))
(defn- assert-clojure-version!
"Warn user if Clojure 1.7 is not found"
[pod]
(when (neg? (compare (pod/with-eval-in @pod (clojure-version)) "1.7.0"))
(warn "ClojureScript requires Clojure 1.7.\nSee https://github.com/boot-clj/boot/wiki/Setting-Clojure-version.\n")))

(defn warn-on-cljs-version-differences []
(let [proj-deps (core/get-env :dependencies)
Expand Down Expand Up @@ -159,14 +145,14 @@
s source-map bool "Create source maps for compiled JS."
c compiler-options OPTS edn "Options to pass to the Clojurescript compiler."]

(let [pod-env (-> (core/get-env) (update-in [:dependencies] into (vec (seq @deps))) (update-in [:dependencies] assert-clojure-version))
(let [pod-env (-> (core/get-env) (update-in [:dependencies] into (vec (seq @deps))))
pod (future (pod/make-pod pod-env))
tmp-src (core/tmp-dir!)
tmp-out (core/tmp-dir!)
tmp-result (core/tmp-dir!)
ctx (initial-context tmp-out tmp-src tmp-result *opts*)]

(warn-on-cljs-version-differences)
(assert-clojure-version! pod)
(comp
(default-main :context ctx)
(core/with-pre-wrap fileset
Expand Down

0 comments on commit 23cb2fd

Please sign in to comment.