From 277319fa392f5ee9f21eedf2c4d224739f045690 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 16 Mar 2025 14:53:45 +0530 Subject: Add common functions for handling cljcc compiler --- cli/build.clj | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 cli/build.clj (limited to 'cli/build.clj') diff --git a/cli/build.clj b/cli/build.clj new file mode 100644 index 0000000..47c8537 --- /dev/null +++ b/cli/build.clj @@ -0,0 +1,27 @@ +(ns build + (:refer-clojure :exclude [test]) + (:require [clojure.tools.build.api :as b])) + +(def lib 'net.clojars.cljcc/cljcc) +(def main 'cljcc.cljcc) +(def class-dir "../target/classes") + +(defn- uber-opts [opts] + (assoc opts + :lib lib :main main + :uber-file "../target/cljcc/cljcc.jar" + :basis (b/create-basis {}) + :class-dir class-dir + :src-dirs ["src"] + :ns-compile [main])) + +(defn ci "Run the CI pipeline of tests (and build the uberjar)." [opts] + (b/delete {:path "../target"}) + (let [opts (uber-opts opts)] + (println "\nCopying source...") + (b/copy-dir {:src-dirs ["resources" "src"] :target-dir class-dir}) + (println (str "\nCompiling " main "...")) + (b/compile-clj opts) + (println "\nBuilding JAR...") + (b/uber opts)) + opts) -- cgit v1.2.3