diff options
Diffstat (limited to 'build.clj')
-rw-r--r-- | build.clj | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/build.clj b/build.clj new file mode 100644 index 0000000..02ca14e --- /dev/null +++ b/build.clj @@ -0,0 +1,36 @@ +(ns build + (:require + [shadow.cljs.devtools.api :as shadow] + [clojure.tools.build.api :as b])) + +(def lib 'tubo) +(def version (format "0.1.%s" (b/git-count-revs nil))) +(def class-dir "target/classes") +(def basis (b/create-basis {:project "deps.edn"})) +(def uber-file (format "target/%s-%s.jar" (name lib) version)) + +(defn clean [_] + (b/delete {:path "target"})) + +(defn aot-compile [_] + (println "Compiling AOT namespaces...") + (b/compile-clj {:basis basis + :src-dir ["src"] + :class-dir class-dir + :ns-compile ['tubo.downloader-impl]}) + (println "Compiled AOT namespaces")) + +(defn uberjar [_] + (clean nil) + (aot-compile nil) + (b/copy-dir {:src-dirs ["src/clj" "resources"] + :target-dir class-dir}) + (b/compile-clj {:basis basis + :src-dir ["src"] + :class-dir class-dir}) + (shadow/release :tubo) + (b/uber {:class-dir class-dir + :uber-file uber-file + :basis basis + :main 'tubo.core}) + (println "Uberjar: " uber-file)) |