寻找与 Scons 等效的 Clojure/LISP

问题描述 投票:0回答:1

我找到了Scons,一种类似于Make的基于Python的构建语言。然而,我似乎找不到与这种类型的构建语言工具等效的 Clojure/LISP(尽管 LISP 似乎非常适合这项工作)。这样的工具是否存在,它位于哪里?

背景: 我正在考虑使用 Clojure/Leningen 作为潜在候选者来取代 Make 作为我正在从事的 C++ 项目的构建语言。这是值得的努力吗? Clojure 和/或 LISP 真的是 C++ 项目有用的构建语言吗?

makefile clojure scons leiningen
1个回答
0
投票

我怀疑您会在 Clojure 世界中找到像 Make 这样简洁的东西,因为 Make 是根据其目的量身定制的。

然而,下一个最接近的可能是Babashka。以下是如何处理任务依赖性和修改时间的示例

{:tasks {:requires ([babashka.fs :as fs])
         :init (do (def target-dir  "target")
                   (def jar-file "target/foo.jar"))
         -target {:task (fs/create-dirs target-dir)}
         jar {:depends [-target]
              :task (when (seq (fs/modified-since jar-file
                                             (fs/glob "src" "**.clj")))
                      (spit jar-file "test")
                      (println "made jar!"))}
         uberjar {:depends [jar]
                  :task (println "creating uberjar!")}}}
© www.soinside.com 2019 - 2024. All rights reserved.