说我有一个香草project.clj像我可以在REPL的Lein项目中查找内容吗?
(defproject myservice "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:mailing-list {:name "[email protected]" :post "[email protected]"}
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.6.0"]
[ring/ring-core "1.4.0"]
[ring/ring-jetty-adapter "1.4.0"]
[compojure "1.4.0"]
[ring/ring-defaults "0.1.5"]
[org.clojure/tools.logging "0.3.1"]
[clj-http "2.0.0"]]
:plugins [[lein-ring "0.9.7"]]
:ring {:handler myservice.core/standalone-app
:port 3000}
:profiles {
:uberjar {:ring {:handler myservice.core/app}}}
)
在lein repl
,我可以从project.clj查找值?怎么样?当然,我的盲人黑客没有工作?
user=> (:mailing-list project)
CompilerException java.lang.RuntimeException: Unable to resolve symbol: project in this context, compiling:(/private/var/folders/1g/fnytl2x93sx6hp2f1rsf4h1r5xtqv_/T/form-init6671981825845237047.clj:1:1)
下面的问题是我可以使用project.clj中的项目映射吗?就像我想拉取邮件列表一样:命名并替换为:deb:maintainer?
:deb
{:toDir "target"
:package "mysevice"
:maintainer {:name "Meeples", :email "[email protected]"}
...
}
我敢肯定,你可以告诉我是那种-的新本,但project.clj仅仅是可执行的Clojure,不是吗?如果我知道项目地图的名称,我应该可以查询它,对吧?
这不是一个答案,但[此线程(http://stackoverflow.com/questions/16270805/how-to - 获取当前版本的clojure-project-in-the-repl)提供了一些适用于您的用例的解决方案,比如sl the project.clj或“def-out”你感兴趣的部分。 – acron
嗯。这不是那么简单,是吗?我想我应该问一个不同的问题。我真正想做的是从邮件列表映射中提取一个值,并将其用作:deb::maintainer中的:email值。 –
哦,在这种情况下,你可以'确定'的东西 - 让我做一个正确的答案,2秒。 – acron