2

我正在尝试使用lein-autodoc,因为我相信它是 Clojure 的首选文档生成器。我已:dev-dependencies [[lein-autodoc "0.9.0"]]按照 lein-autodoc github 页面上的说明添加到我的项目定义中。

运行lein deps没有问题,但是lein autodoc失败,声称 autodoc 不是任务。

我怀疑问题是 lein-autodoc 设置为与 leiningen 1 一起使用。但是,我使用的是 leiningen 2。我应该用 autodoc 调用 lein 的另一种方法吗?或者 lein-autodoc 包没有设置为与 lein 2 一起使用?如果没有,是否有另一个首选的与 lein2 兼容的文档生成选项?

编辑:

在 Cubic 下面的提示之后,我创建~/.lein/profiles.clj如下:

{:user {:plugins [[lein-autodoc "0.9.0"]]}}

现在,运行lein autodoc结果如下:

$ lein autodoc
Exception in thread "main" java.lang.IllegalAccessError: sh does not exist
    at clojure.core$refer.doInvoke(core.clj:3778)
    at clojure.lang.RestFn.applyTo(RestFn.java:139)
    at clojure.core$apply.invoke(core.clj:603)
    at clojure.core$load_lib.doInvoke(core.clj:5279)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:603)
    at clojure.core$load_libs.doInvoke(core.clj:5298)
    (...)

这表明 autodoc 可能与 Lein 2 不兼容?如果没有,是否有任何适用于 Lein 2 的文档系统?

4

2 回答 2

5

autodoc 曾经是更常见的文档生成器,但如今它主要仅用于 Clojure 本身(并且针对任务进行了优化)。我强烈建议您改用codox。它非常好。你可以在我自己的一个项目中看到它在这里

(我知道这在另一个答案中已经说过,但是为了让我的答案完整,我还是需要添加它)

此外,在 leiningen 2 中没有:dev-dependencies钥匙。相反,有一个:dev配置文件。查看 Leiningen 个人资料文档以获取更多信息。在这种情况下,您需要做的就是:plugins使用您想要的插件(如 codox、autodoc 等)为您的项目或全局用户配置文件添加一个密钥。

于 2012-12-20T21:45:30.757 回答
3

lein 2中没有:dev-dependencies,您必须使用profiles来完成。

我不确定 autodoc 是否真的适用于 lein 2。请记住,clojure 和它的环境发展得非常快,而且那里有很多过时的信息。

于 2012-12-20T21:12:30.387 回答