   (newline))
 
 (defn fresh-version [[prj ver :as dep]]
-  (let [voom-meta (:voom (meta dep))
+  (let [voom-meta (-> dep meta :voom)
         ver-spec (or (:version voom-meta)
                      (re-find #"^[^.]+." ver))
         groups (->> (newest-voom-ver-by-spec prj (merge voom-meta {:version ver-spec



;; === build-deps ===

(defn resolve-artifact
  "Build and install given artifact using git. Return value is

      (if (seq rdeps)
        (if (map? fdep)
          (let [[ndep & rdeps] rdeps]
            (recur (conj deps (with-meta ndep {:voom fdep})) rdeps))
          (recur (conj deps fdep) rdeps))
        (conj deps fdep))
      deps)))

(defn box-add
  [proj & adeps]
  (let [deps (fold-args-as-meta (map edn/read-string adeps))]
    (ensure-deps-repos deps)
    (p-repos (fn [p] (tag-repo-projects p)))
    (doseq [dep deps
            :let [full-projs (if (.contains (str dep) "/")
                               [dep]
                               (resolve-short-proj (pr-str dep) (all-projects)))
                  full-projs (map symbol full-projs)
                  repo-infos (mapcat #(newest-voom-ver-by-spec % (-> dep meta :voom))
                                     full-projs)]]
      (case (count repo-infos)
        0 (throw (ex-info "Could not find matching projects" {:dep dep}))
        1 (box-repo-add (first repo-infos))
        (do
          (print "Multiple projects / locations match" (str \" dep \"\:))
          (print-repo-infos repo-infos))))))

(defn box-init
  [proj target & args]
