git » blacktide.git » master » tree

[master] / build.clj

(ns build
  "Package the Clojure source library and its resources."
  (:require [clojure.tools.build.api :as b]
            [clojure.java.io :as io]))

(defn jar [{:keys [version] :or {version "0.1.0-SNAPSHOT"}}]
  (let [lib 'com.tailrecursion/blacktide class-dir "target/jar-classes"
        basis (b/create-basis {:project "deps.edn"})]
    (b/delete {:path class-dir})
    (b/copy-dir {:src-dirs ["src" "resources"] :target-dir class-dir})
    ;; Editor state may be nested beneath namespace directories.
    (doseq [file (file-seq (io/file class-dir))
            :when (.startsWith (.getName file) ".")]
      (b/delete {:path (.getPath file)}))
    (b/copy-file {:src "LICENSE" :target (str class-dir "/META-INF/LICENSE")})
    (b/write-pom {:lib lib :version version :basis basis :class-dir class-dir
                  :src-dirs ["src"]})
    (b/jar {:class-dir class-dir :jar-file (str "target/blacktide-" version ".jar")})))