   (let [clojars-artifacts (future (get-artifacts-from-clojars!))
         maven-artifacts (future (get-artifacts-from-mvn-central!))]
     (reset! artifacts (into @clojars-artifacts @maven-artifacts))
-    (alter-meta! artifacts update-in [:last-modified] (constantly (java.util.Date.)))))
+    (spit artifacts-file @artifacts)
+    (alter-meta! artifacts update-in [:last-modified]
+                 (constantly (get-last-modified-from-file artifacts-file)))))
 
 (defn artifact-list
   [{:keys [force]}]
   (when (or (= force "true") (stale-cache?))
     (update-artifact-cache!)
-    (spit ".artifacts-cache" @artifacts))
+    (spit artifacts-file @artifacts))
   (->> @artifacts keys list*))
 
 (defn artifact-versions

           java.util.zip.GZIPInputStream
           java.util.jar.JarFile))

;;  structure here is {"prismatic/schem" ["0.1.1" "0.2.0" ...]}
(defonce artifacts (atom {} :meta {:last-modified nil}))
(def millis-per-day (* 24 60 60 1000))

(defn- get-proxy-opts

(defn- stale-cache?
  []
  (or (empty? @artifacts)
      (if-let [last-modified (some-> artifacts meta :last-modified)]
        (neg? (- millis-per-day (- (.getTime (java.util.Date.)) last-modified)))
        true)))

