aboutsummaryrefslogtreecommitdiff
path: root/cli/build.clj
blob: 47c853782a033a8b2159dfd26eb068fb2bcc1bb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(ns build
  (:refer-clojure :exclude [test])
  (:require [clojure.tools.build.api :as b]))

(def lib 'net.clojars.cljcc/cljcc)
(def main 'cljcc.cljcc)
(def class-dir "../target/classes")

(defn- uber-opts [opts]
  (assoc opts
         :lib lib :main main
         :uber-file "../target/cljcc/cljcc.jar"
         :basis (b/create-basis {})
         :class-dir class-dir
         :src-dirs ["src"]
         :ns-compile [main]))

(defn ci "Run the CI pipeline of tests (and build the uberjar)." [opts]
  (b/delete {:path "../target"})
  (let [opts (uber-opts opts)]
    (println "\nCopying source...")
    (b/copy-dir {:src-dirs ["resources" "src"] :target-dir class-dir})
    (println (str "\nCompiling " main "..."))
    (b/compile-clj opts)
    (println "\nBuilding JAR...")
    (b/uber opts))
  opts)