aboutsummaryrefslogtreecommitdiff
path: root/cli/build.clj
blob: 4bf6a82cf3ccd67bbca70d1ad763de3a33d29730 (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
28
(ns build
  (:refer-clojure :exclude [test])
  (:require [clojure.tools.build.api :as b]))

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

(defn- uber-opts [opts]
  (assoc opts
         :lib lib :main main
         :uber-file "../target/cli/cljcc-cli.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)
    (println "\nJAR built."))
  opts)