-; Common utility functions used by scripts
-
-(import '[java.nio.file Files FileSystems CopyOption StandardCopyOption])
-
-(require '[babashka.process :as p] '[org.httpkit.client :as http])
-
-(defn run-cmd
- [command]
- (->> command
- p/process
- :out
- slurp))
-
-(defn extract-file-from-zip
- [zip-file-name source destination]
- (let [zip-file (io/file zip-file-name)
- src (io/file source)
- dest (io/file destination)
- fs (FileSystems/newFileSystem (.toPath zip-file) nil)
- file-in-zip (.getPath fs source (into-array String []))]
- (Files/copy file-in-zip
- (.toPath dest)
- (into-array CopyOption [StandardCopyOption/REPLACE_EXISTING]))))
-
-(defn expand-home
- [s]
- (if (.startsWith s "~")
- (clojure.string/replace-first s "~" (System/getProperty "user.home"))
- s))
-
-(defn download-binary
- [url destination]
- (io/copy (:body @(http/get url)) (io/file destination)))