aboutsummaryrefslogtreecommitdiff
path: root/build.clj
diff options
context:
space:
mode:
authorTim <contact@bytim.eu>2025-11-01 17:36:48 +0100
committerTim <contact@bytim.eu>2025-11-01 17:36:48 +0100
commit32ee50f0f6f53f8d5dea3bf159be3f65974c4b7b (patch)
treec317610f1a275936baefae2efeab360befbb9950 /build.clj
Initial commit
Diffstat (limited to 'build.clj')
-rw-r--r--build.clj30
1 files changed, 30 insertions, 0 deletions
diff --git a/build.clj b/build.clj
new file mode 100644
index 0000000..39f5648
--- /dev/null
+++ b/build.clj
@@ -0,0 +1,30 @@
+(ns build
+ (:require [clojure.tools.build.api :as b]
+ [clojure.edn :as edn]))
+
+(def project (-> (edn/read-string (slurp "deps.edn"))
+ :aliases :neil :project))
+(def lib (:name project))
+
+;; use neil project set version 1.2.0 to update the version in deps.edn
+
+(def version (:version project))
+(def class-dir "target/classes")
+(def basis (b/create-basis {:project "deps.edn"}))
+(def uber-file (format "target/%s-%s-standalone.jar" (name lib) version))
+(def jar-file (format "target/%s-%s.jar" (name lib) version))
+
+(defn clean [_]
+ (b/delete {:path "target"}))
+
+(defn uber [_]
+ (clean nil)
+ (b/copy-dir {:src-dirs ["src" "resources"]
+ :target-dir class-dir})
+ (b/compile-clj {:basis basis
+ :src-dirs ["src"]
+ :class-dir class-dir})
+ (b/uber {:class-dir class-dir
+ :uber-file uber-file
+ :basis basis
+ :main 'dionysus.core}))