diff options
| author | Shagun Agrawal <agrawalshagun07@gmail.com> | 2024-07-24 21:37:13 +0530 |
|---|---|---|
| committer | Shagun Agrawal <agrawalshagun07@gmail.com> | 2024-07-24 21:37:13 +0530 |
| commit | e81e86e937584a7f2345df43dc93a13793d10dc2 (patch) | |
| tree | c1f7658c700ccf78f27d6439b0642583825e642a /bb.edn | |
| parent | cc0df196ee35da434bd2ab69887354c296b3fbae (diff) | |
fix babashka script for building script
Changed babashka directory to create native build inside /target/cljcc
folder.
Diffstat (limited to 'bb.edn')
| -rw-r--r-- | bb.edn | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -0,0 +1,36 @@ +{:tasks + {:requires ([babashka.fs :as fs] + [clojure.string :as str]) + :init (let [windows? (str/starts-with? (System/getProperty "os.name") "Windows")] + (if windows? + (do + (println "Cannot run on Windows !") + (System/exit 1)))) + clean (do + (println "Removing target folder.") + (fs/delete-tree "target")) + + run-main {:doc "Run main" + :task (apply clojure "-M -m cljcc.cljcc" *command-line-args*)} + build-uberjar {:doc "Builds uberjar" + :task (when (seq (fs/modified-since "target/cljcc" + ["src" "build.clj" "deps.edn" "test" "resources"])) + (clojure "-T:build ci"))} + run-uberjar {:doc "Run uberjar" + :depends [build-uberjar] + :task (apply shell "java -jar target/cljcc/cljcc.jar" *command-line-args*)} + build-native {:doc "Builds native image" + :depends [build-uberjar] + :task + (shell {:dir "target/cljcc"} + "native-image" + "-jar" "cljcc.jar" + "-o" "cljcc" + "-Ob" ; quick compilation flag for development + ; "-H:Name=cljcc" + "-H:+ReportExceptionStackTraces" + "--features=clj_easy.graal_build_time.InitClojureClasses" + "--initialize-at-build-time" + "--report-unsupported-elements-at-runtime" + "--verbose" + "--no-fallback")}}} |
