Skip to content

Commit 82acf45

Browse files
committed
switch to tools.build for uberjars
Simpler, more modern setup
1 parent 15021fd commit 82acf45

3 files changed

Lines changed: 37 additions & 16 deletions

File tree

bb.edn

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
{:tasks
22
{dev {:doc "Run dev repl"
3-
:task (clojure "-M:dev:repl")}}}
3+
:task (clojure "-M:dev")}
4+
release {:doc "Build uberjar"
5+
:task (clojure "-T:build uber")}}}

build.clj

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
(ns build
2+
(:require
3+
[clojure.tools.build.api :as b]))
4+
5+
(def lib 'practitest/practitest-firecracker)
6+
(def version (format "2.1.%s" (b/git-count-revs nil)))
7+
(def class-dir "target/classes")
8+
(def uber-file (format "target/%s-%s-standalone.jar" (name lib) version))
9+
10+
;; delay to defer side effects (artifact downloads)
11+
(def basis (delay (b/create-basis {:project "deps.edn"})))
12+
13+
(defn clean [_]
14+
(b/delete {:path "target"}))
15+
16+
(defn uber [_]
17+
(clean nil)
18+
(b/copy-dir {:src-dirs ["src"]
19+
:target-dir class-dir})
20+
(b/compile-clj {:basis @basis
21+
:ns-compile '[practitest-firecracker.core]
22+
:class-dir class-dir})
23+
(b/uber {:class-dir class-dir
24+
:uber-file uber-file
25+
:basis @basis
26+
:main 'practitest-firecracker.core}))

deps.edn

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,11 @@
1111
vlaaad/reveal {:mvn/version "1.3.280"}}
1212

1313
:aliases
14-
{:dev {:extra-paths ["dev"]}
15-
:package {:extra-paths ["resources" "target/cljs/"]}
16-
:repl {:extra-deps {nrepl/nrepl {:mvn/version "1.0.0"}
17-
cider/cider-nrepl {:mvn/version "0.41.0"}}
18-
:main-opts ["-m" "nrepl.cmdline"
19-
"--middleware" "[cider.nrepl/cider-middleware]"
20-
"--interactive"]}
21-
:uberdeps {:extra-deps {uberdeps/uberdeps {:mvn/version "0.1.8"}}
22-
:main-opts ["-m" "uberdeps.uberjar"]}
23-
:depstar {:extra-deps
24-
{seancorfield/depstar {:mvn/version "1.0.94"}}}
25-
:webassets {:extra-paths ["dev"]}
26-
:reveal {:extra-deps {vlaaad/reveal {:mvn/version "1.3.280"}}
27-
;; optional: preferences
28-
:jvm-opts ["-Dvlaaad.reveal.prefs={:theme,:light}"]}}}
14+
{:dev {:extra-paths ["dev"]
15+
:extra-deps {nrepl/nrepl {:mvn/version "1.0.0"}
16+
cider/cider-nrepl {:mvn/version "0.41.0"}}
17+
:main-opts ["-m" "nrepl.cmdline"
18+
"--middleware" "[cider.nrepl/cider-middleware]"
19+
"--interactive"]}
20+
:build {:deps {io.github.clojure/tools.build {:mvn/version "0.10.3"}}
21+
:ns-default build}}}

0 commit comments

Comments
 (0)