(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/uber {:class-dir class-dir :uber-file jar-file :main 'clojure.main :exclude [#".*Log4j2Plugins\.dat$"] :basis basis})) (defn compile [_] (b/javac {:src-dirs ["dev/java"] :class-dir class-dir :basis basis :javac-opts ["-source" "17" "-target" "17"]}))