Skip to content

Commit 6f8422c

Browse files
mfikesswannodette
authored andcommitted
CLJS-2606: Shared AOT cache: Don't cache artifacts built from unbuilt ClojureScript dep
1 parent 6613c7b commit 6f8422c

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

Diff for: src/main/clojure/cljs/closure.clj

+1-1
Original file line numberDiff line numberDiff line change
@@ -2244,7 +2244,7 @@
22442244
(assoc :opts-cache "cljsc_opts.edn")
22452245

22462246
(nil? (:aot-cache opts))
2247-
(assoc :aot-cache true)
2247+
(assoc :aot-cache (util/cljs-built-dep?))
22482248

22492249
(contains? opts :modules)
22502250
(ensure-module-opts)

Diff for: src/main/clojure/cljs/util.cljc

+11-1
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@
3030
0
3131
(Math/abs (hash (slurp file)))))
3232

33+
(def ^:private synthethetic-version-prefix "0.0.")
34+
3335
(def ^:private synthetic-clojurescript-version
34-
(delay (str "0.0." (reduce + (map file-hash (file-seq (main-src-directory)))))))
36+
(delay (str synthethetic-version-prefix (reduce + (map file-hash (file-seq (main-src-directory)))))))
3537

3638
(defn ^String clojurescript-version
3739
"Returns clojurescript version as a printable string."
@@ -49,6 +51,14 @@
4951
"-SNAPSHOT"))
5052
@synthetic-clojurescript-version))
5153

54+
(defn- synthetic-version? []
55+
(string/starts-with? (clojurescript-version) synthethetic-version-prefix))
56+
57+
(defn cljs-built-dep?
58+
"Returns true if ClojureScript itself is a built dep."
59+
[]
60+
(not (synthetic-version?)))
61+
5262
(defn ^String compiled-by-version [f]
5363
(with-open [reader (io/reader f)]
5464
(let [match (some->> reader line-seq first

0 commit comments

Comments
 (0)