我正在努力弄清Erlang的自动文档系统。该文档建议使用http://erlang.org/doc/man/edoc.html#application-2
中记录的edoc模块的应用程序功能。我已经这样设置了子目录:
myproject/
├── src/
├── ebin/
│ └── myproject.app
├── include/
├── priv/
└── doc/
└── overview.edoc
我无法从文档中确定edoc函数 application 中引用的应用程序是否与myproject.app文件有关,但似乎没有。
>我得到的错误是:
1> edoc:application(myproject).
edoc: cannot find application directory for 'myproject'.
** exception exit: error
in function edoc:application/2 (edoc.erl, line 165)
任何关于如何使它成功运作的神奇咒语的建议都得到了接受。
答案 0 :(得分:3)
application(Application :: atom(),Options :: proplist())->确定
在默认应用程序目录中的应用程序上运行EDoc。
我不知道它在哪里:o)
您可以在myproject级别使用命令edoc:application(myproject,".",[]).
,它将在src目录中创建一个doc目录。
application(Application :: atom(),Dir :: filename(),Options :: proplist()) ->好的
在指定目录中的应用程序上运行EDoc。
我更喜欢使用rebar3创建和管理应用程序,它通过一个简单的配置文件为您完成了很多工作。
答案 1 :(得分:2)
要获取放置在./myproject/doc子目录中的文档,而不是默认的./myproject/ebin/doc目录,我使用了从项目根目录./myproject /
进行的以下运行edoc:application(myproject, ".", [{dir, "doc"}, {subpackages, true}]).
让我感到震惊的是总览中引用的文件。edoc必须相对于./doc子目录(回想起来很有意义),如:
@headerfile“ ../ include / global.hrl”