Fix local pod loading & support :cache opt
This commit is contained in:
parent
c2a2facb0f
commit
91518181fb
2 changed files with 7 additions and 6 deletions
|
|
@ -314,8 +314,8 @@
|
||||||
(binding [*out* *err*]
|
(binding [*out* *err*]
|
||||||
(println (str/join " " (map pr-str strs)))))
|
(println (str/join " " (map pr-str strs)))))
|
||||||
|
|
||||||
(defn resolve-pod [pod-spec {:keys [:version :force] :as opts}]
|
(defn resolve-pod [pod-spec {:keys [:version :path :force] :as opts}]
|
||||||
(let [resolved (when (qualified-symbol? pod-spec)
|
(let [resolved (when (and (qualified-symbol? pod-spec) version)
|
||||||
(resolver/resolve pod-spec version force))
|
(resolver/resolve pod-spec version force))
|
||||||
opts (if resolved
|
opts (if resolved
|
||||||
(if-let [extra-opts (:options resolved)]
|
(if-let [extra-opts (:options resolved)]
|
||||||
|
|
@ -324,6 +324,7 @@
|
||||||
opts)
|
opts)
|
||||||
pod-spec (cond
|
pod-spec (cond
|
||||||
resolved [(:executable resolved)]
|
resolved [(:executable resolved)]
|
||||||
|
path [path]
|
||||||
(string? pod-spec) [pod-spec]
|
(string? pod-spec) [pod-spec]
|
||||||
:else pod-spec)]
|
:else pod-spec)]
|
||||||
{:pod-spec pod-spec, :opts opts}))
|
{:pod-spec pod-spec, :opts opts}))
|
||||||
|
|
|
||||||
|
|
@ -34,18 +34,18 @@
|
||||||
(with-open [r (PushbackInputStream. (io/input-stream cache-file))]
|
(with-open [r (PushbackInputStream. (io/input-stream cache-file))]
|
||||||
(impl/read r)))))
|
(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)
|
(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))]
|
(metadata-cache-file pod-spec opts))]
|
||||||
(when cache-file
|
(when cache-file
|
||||||
(with-open [w (io/output-stream cache-file)]
|
(with-open [w (io/output-stream cache-file)]
|
||||||
(impl/write w metadata)))
|
(impl/write w metadata)))
|
||||||
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
|
(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))]
|
(load-metadata-from-cache pod-spec opts))]
|
||||||
cached-metadata
|
cached-metadata
|
||||||
(load-pod-metadata* pod-spec opts))]
|
(load-pod-metadata* pod-spec opts))]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue