如何从leiningen插件访问项目图?

Lev*_*ell 7 clojure leiningen

假设我创建一个新的leiningen项目并编辑project.clj文件,使其看起来如下所示.

(defproject foobar "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure "1.5.1"]
                 ...
                 [clj-webmaster-tools "0.1.0"]]
  :plugins [[lein-ring "0.8.6"]
            [lein-webmaster-tools "0.1.0"]
  :webmaster {:sitemap "http://www.foobar.com/sitemap-index.xml" :robots "http://www.foobar.com/robots.txt"})
Run Code Online (Sandbox Code Playgroud)

我的问题是,我如何访问项目地图中的:webmaster键,以便在我正在编写的leningen插件中使用?

noa*_*hlz 6

编写插件时,传递给插件函数的第一个参数是项目映射.它是标准的Clojure持久性映射,因此您可以像任何其他映射一样访问它,即

(defn my-plugin[project] 
  (println (:webmaster project)))
Run Code Online (Sandbox Code Playgroud)