是否可以在project.clj中包含(导入?)其他文件以用于clojure项目? (leiningen,具体而言)。
例如我们有:
(defproject sample-clojure-cloudbees "1.0.0-SNAPSHOT"
:description "Sample clojure application - clojure 1.3 !"
:some-key "some value")
定义更多内容会更好:在project.clj以外的文件中使用some-key。
答案 0 :(得分:2)
defproject没有理由必须是顶级形式。您可以通过构建参数列表来构建对defproject的调用。唯一的问题是defproject是一个宏,因此简单的“应用”功能无济于事。
(def extra-args (read-string (slurp "project-extension.clj")))
(eval (concat '(defproject sample-clojure-cloudbees "1.0.0-SNAPSHOT")
extra-args))
请注意,这是读取文件,然后评估该文件中的元素。确保你知道文件的来源!