2
我正在研究与Clojure和ClojureScript兼容的库。使用Clojure/ClojureScript交叉库
下面是该库的project.clj:
(defproject libtest "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.4.0"]]
:plugins [[lein-cljsbuild "0.3.0"]]
:cljsbuild
{:crossovers [libtest],
:crossover-jar true
:jar true
:builds
[{:source-paths ["src/libtest"], :crossover-path "src/libtest"}]})
我包括它在其他项目的依赖。为了得到它从我的项目的ClojureScript方共同努力,我不得不添加的确切名称空间交叉我project.clj的cljsbuild项下:
(defproject some-other-project
...
:dependencies [[org.clojure/clojure "1.5.0"]
[libtest "0.1.0-SNAPSHOT"]]
:cljsbuild {
:builds [{
...
:crossovers [libtest.core]
...
我的问题是,这是必要的?如果它在类路径上,为什么我必须专门告诉它我将使用哪些命名空间?如果我需要使用几十个命名空间,其中一些会引用其他命名空间等,这不能很好地扩展。
这可以在库本身的project.clj中使用,但不适用于使用库的项目。 – 2013-04-02 20:14:27