2012-06-25 4 views
2

최신 릴리스 및 다음 2.0 버전과 호환되는 Leiningen 플러그인을 작성하려고하지만 플러그인 자체를 실행하는 데 문제가 있습니다. 제가 말하고자하는 것은 코드를 작성한 다음 lein foo을 실행하여 플러그인 코드 자체에 최신 버전의 플러그인 코드를 실행하는 것입니다. 내 project.clj 파일은 다음과 같습니다 :Clojure의 부트 스트랩 Leiningen 플러그인 개발

SRC에/CLJ/leiningen 폴더에서
(defproject foo "0.0.0" 
    :description "simple version for experiment" 
    :dependencies [[org.clojure/clojure "1.4.0"] 
       [fs "1.1.2"]] 
    :source-path "src/clj") 

난 그냥/CLJ/바/foo는-test.clj SRC에있는 함수를 호출하는 간단한 foo.clj 파일이 그 인쇄 프로젝트 디렉토리의 내용 그러나 lein foo을 실행할 때마다 CLASSPATH에서 foo.clj를 찾을 수 없다는 메시지가 나타납니다. 모든 파일을 src/clj에서 src로 옮기고 :source-path 지시문을 제거하면 foo.clj에서 올바른 작업을 실행하지만 CLASSPATH에서 fs.clj가 발견되지 않는다고 불평합니다. project.clj와 lein install,deps,foo 사이에 foo 종속성을 추가 할 필요없이이 작업이 더 쉬워지기를 기대했지만, 현재는 작동하도록 만드는 유일한 방법입니다.

도움 주셔서 감사합니다.

답변

0

다음에 따르면 https://github.com/technomancy/leiningen/blob/master/doc/PLUGINS.md, :source-path은 Leiningen 2.0에서 :source-paths으로 변경되었으며 직접 문자열 대신 벡터가 포함되어야합니다.

또 다른 잠재적 인 오류는 프로젝트 파일에 :eval-in-leiningen true이 없다는 것입니다. 나는 그것이 라이닝 그 자체의 CLASSPATH를 상속받는 것이 필요하다고 믿는다. 그래도 그것이 fs.clj을 찾는 데 문제가되는지는 확실하지 않습니다.