Как получить доступ к карте проекта из плагина 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"})
У меня вопрос, как мне получить доступ к ключу:webmaster на карте проекта для использования в плагине leningen, который я пишу?
1 ответ
Решение
Когда вы пишете плагин, первым параметром, передаваемым вашей функции плагина, является карта проекта. Это стандартная постоянная карта Clojure, поэтому вы можете получить к ней доступ, как и к любой другой карте, т.е.
(defn my-plugin[project]
(println (:webmaster project)))