2013-08-25 2 views
5

새로운 leiningen 프로젝트를 만들고 project.clj 파일을 편집하면 다음과 같이 보일 것입니다. 웹 마스터 키를 프로젝트지도에 사용하기 위해 내가 쓰고 있어요 leningen 플러그인에 :leiningen 플러그인에서 프로젝트 맵에 어떻게 액세스합니까?

(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"}) 

내 질문에 내가 어떻게 접근 할 수있다?

+0

어디서 액세스 할 수 있습니까? 빌드하는 동안 (그렇다면 어떤 단계)? – noahlz

+0

@noahlz 아니, 필자는 leiningen 플러그인을 쓰고있다. –

+4

플러그인 함수에 매개 변수로 전달되며 다른지도처럼 액세스 할 수 있습니다. 다음 예제를 참조하십시오 : https://github.com/noahlz/lein-hello/blob/master/src/leiningen/hello.clj – noahlz

답변

4

플러그인을 작성할 때 플러그인 기능에 전달되는 첫 번째 매개 변수는 프로젝트 맵입니다. 표준 Clojure 영구 맵이므로 다른지도와 마찬가지로 액세스 할 수 있습니다. 즉

(defn my-plugin[project] 
    (println (:webmaster project))) 
관련 문제