Browse Source

feat: Add tools.build script

Miguel Ángel Moreno 1 year ago
parent
commit
cc7d14514c
2 changed files with 39 additions and 1 deletions
  1. 36 0
      build.clj
  2. 3 1
      deps.edn

+ 36 - 0
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))

+ 3 - 1
deps.edn

@@ -13,7 +13,9 @@
  :paths ["src/backend" "resources" "classes"]
  :mvn/repos {"jitpack" {:url "https://jitpack.io"}}
  :aliases
- {:frontend
+ {:build {:deps {io.github.clojure/tools.build {:mvn/version "0.9.4"}}
+          :ns-default build}
+  :frontend
   {:extra-paths ["src/frontend"]
    :extra-deps {thheller/shadow-cljs {:mvn/version "2.20.1"}
                 cider/cider-nrepl {:mvn/version "0.28.4"}