可以在clojure repl中获取项目信息吗?
例如,如果定义了一个项目:
(defproject blahproject "0.1.2" ....)
在项目目录中运行repl时,有这样的函数吗?
> (project-version)
;=> 0.1.2
发布于 2013-04-29 14:20:09
Leiningen项目文件只是Clojure数据:)
(-> "/path/to/project.clj" slurp read-string (nth 2))
发布于 2014-10-08 12:01:30
虽然您可以自己解析project.clj
,但这可能很烦人。这也是大量的工作。相反,您可以直接执行以下操作:
(System/getProperty "projectname.version")
发布于 2015-01-30 05:49:20
我使用的是environ (https://github.com/weavejester/environ),它从许多来源吸收设置,包括系统属性。项目版本显示为:<project-name>-version
foobar.repl=> (require '[environ.core :refer [env]])
nil
foobar.repl=> (:foobar-version env)
"0.1.0-SNAPSHOT"
https://stackoverflow.com/questions/16270805
复制相似问题