mirror of
https://github.com/penpot/penpot.git
synced 2025-08-03 04:18:30 +02:00
♻️ Refactor backend bundle build process.
Now the final artifact is a single, compiled uberjar. It considerably improves startup speed.
This commit is contained in:
parent
9488a9a1ad
commit
c48da3d316
7 changed files with 59 additions and 76 deletions
37
backend/build.clj
Normal file
37
backend/build.clj
Normal file
|
@ -0,0 +1,37 @@
|
|||
(ns build
|
||||
(:refer-clojure :exclude [compile])
|
||||
(:require
|
||||
[clojure.tools.build.api :as b]
|
||||
[clojure.java.io]))
|
||||
|
||||
(def class-dir "target/classes")
|
||||
(def basis (b/create-basis {:project "deps.edn"}))
|
||||
(def jar-file "target/penpot.jar")
|
||||
|
||||
(defn clean [_]
|
||||
(b/delete {:path "target"}))
|
||||
|
||||
(defn jar [_]
|
||||
(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 jar-file
|
||||
:main 'clojure.main
|
||||
:basis basis}))
|
||||
|
||||
(defn compile [_]
|
||||
(b/javac
|
||||
{:src-dirs ["dev/java"]
|
||||
:class-dir class-dir
|
||||
:basis basis
|
||||
:exclude [#"com.google.*" #"goog.*"]
|
||||
:javac-opts ["-source" "11" "-target" "11"]}))
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue