Fix local pod loading & support :cache opt

This commit is contained in:
Wes Morgan 2022-03-19 11:52:21 -06:00
parent c2a2facb0f
commit 91518181fb
No known key found for this signature in database
GPG key ID: 5639E4CBFA17DC84
2 changed files with 7 additions and 6 deletions

View file

@ -314,8 +314,8 @@
(binding [*out* *err*]
(println (str/join " " (map pr-str strs)))))
(defn resolve-pod [pod-spec {:keys [:version :force] :as opts}]
(let [resolved (when (qualified-symbol? pod-spec)
(defn resolve-pod [pod-spec {:keys [:version :path :force] :as opts}]
(let [resolved (when (and (qualified-symbol? pod-spec) version)
(resolver/resolve pod-spec version force))
opts (if resolved
(if-let [extra-opts (:options resolved)]
@ -324,6 +324,7 @@
opts)
pod-spec (cond
resolved [(:executable resolved)]
path [path]
(string? pod-spec) [pod-spec]
:else pod-spec)]
{:pod-spec pod-spec, :opts opts}))

View file

@ -34,18 +34,18 @@
(with-open [r (PushbackInputStream. (io/input-stream cache-file))]
(impl/read r)))))
(defn load-pod-metadata* [pod-spec {:keys [:version] :as opts}]
(defn load-pod-metadata* [pod-spec {:keys [:version :cache] :as opts}]
(let [metadata (impl/load-pod-metadata pod-spec opts)
cache-file (when (qualified-symbol? pod-spec) ; don't cache local pods b/c their namespaces can change
cache-file (when (and version cache)
(metadata-cache-file pod-spec opts))]
(when cache-file
(with-open [w (io/output-stream cache-file)]
(impl/write w metadata)))
metadata))
(defn load-pod-metadata [pod-spec {:keys [:version] :as opts}]
(defn load-pod-metadata [pod-spec {:keys [:version :cache] :as opts}]
(let [metadata
(if-let [cached-metadata (when (qualified-symbol? pod-spec) ; don't cache local pods b/c their namespaces can change
(if-let [cached-metadata (when (and version cache)
(load-metadata-from-cache pod-spec opts))]
cached-metadata
(load-pod-metadata* pod-spec opts))]