【问题标题】:How do I access the project map from a leiningen plugin?如何从 leiningen 插件访问项目地图?
【发布时间】:2013-08-25 15:28:52
【问题描述】:

假设我创建了一个新的 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"})

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

【问题讨论】:

  • 在哪里访问它?在构建期间(如果是,是哪个阶段)?
  • @noahlz 不,我正在写一个 leiningen 插件。
  • 它作为参数传递给您的插件函数,您可以像访问任何其他地图一样访问它。请参阅此示例:github.com/noahlz/lein-hello/blob/master/src/leiningen/…
  • @noahlz 比一个答案,所以我可以给予适当的信用。

标签: clojure leiningen


【解决方案1】:

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

(defn my-plugin[project] 
  (println (:webmaster project)))

【讨论】:

    猜你喜欢
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 2013-08-29
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多