Guest User

Untitled

a guest
Jan 18th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. (ns switch
  2. (:require [clojure.pprint :as pprint]))
  3.  
  4. (defn project-clj-map [filename]
  5. (->> (slurp filename)
  6. (read-string)
  7. (drop 1)
  8. (partition 2)
  9. (map vec)
  10. (into {})))
  11.  
  12. (defn lein-deps [filename]
  13. (let [project-clj (project-clj-map filename)]
  14. (get project-clj :dependencies)))
  15.  
  16. (defn edn-dep [lein-dep]
  17. (let [[id version] lein-dep]
  18. {id {:mvn/version version}}))
  19.  
  20. (defn edn-deps [lein-deps]
  21. (let [deps (into {} (map edn-dep lein-deps))]
  22. {:deps deps}))
  23.  
  24. (defn pprint-write [out-file m]
  25. (with-open [w (clojure.java.io/writer out-file)]
  26. (binding [*out* w]
  27. (pprint/write m))))
  28.  
  29. (defn spit-edn-deps []
  30. (->> (lein-deps "project.clj")
  31. (edn-deps)
  32. (pprint-write "deps.edn")))
  33.  
  34. (defn -main []
  35. (spit-edn-deps))
Add Comment
Please, Sign In to add comment