diff options
| author | Your Name <agrawalshagun07@gmail.com> | 2025-03-16 14:53:45 +0530 |
|---|---|---|
| committer | Your Name <agrawalshagun07@gmail.com> | 2025-03-16 14:53:45 +0530 |
| commit | 277319fa392f5ee9f21eedf2c4d224739f045690 (patch) | |
| tree | f2e3a89de7946647d7560db242e7ce22fda25a5c /cli | |
| parent | 39b6930e14cfda58fd066805f5da447c685ab67f (diff) | |
Add common functions for handling cljcc compiler
Diffstat (limited to 'cli')
| -rw-r--r-- | cli/build.clj | 27 | ||||
| -rw-r--r-- | cli/deps.edn | 4 | ||||
| -rw-r--r-- | cli/src/cli/cli.clj | 2 | ||||
| -rw-r--r-- | cli/src/cli/driver.clj | 3 |
4 files changed, 34 insertions, 2 deletions
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) diff --git a/cli/deps.edn b/cli/deps.edn index 8d06ce6..b0313f3 100644 --- a/cli/deps.edn +++ b/cli/deps.edn @@ -1,4 +1,8 @@ {:paths ["src"] + :deps {org.clojure/clojure {:mvn/version "1.11.1"} + org.clojure/tools.cli {:mvn/version "1.1.230"} + com.github.clj-easy/graal-build-time {:mvn/version "1.0.5"} + cljcc/cljcc {:local/root "../cljcc-compiler"}} :aliases {:run {:main-opts ["-m" "cli.cli"]}}} diff --git a/cli/src/cli/cli.clj b/cli/src/cli/cli.clj index f7aba04..5f27187 100644 --- a/cli/src/cli/cli.clj +++ b/cli/src/cli/cli.clj @@ -2,7 +2,7 @@ (:require [clojure.tools.cli :refer [parse-opts]] [clojure.string :as string] - [cljcc.util :refer [exit]] + [cli.core.shell :refer [exit]] [cli.driver :as driver]) (:gen-class)) diff --git a/cli/src/cli/driver.clj b/cli/src/cli/driver.clj index 41a916f..76723f5 100644 --- a/cli/src/cli/driver.clj +++ b/cli/src/cli/driver.clj @@ -1,3 +1,4 @@ -(ns cli.driver) +(ns cli.driver + (:require [cljcc.cljcc :as cljcc])) (defn run [& args]) |
