Erlang edoc 多级目录出错

使用rebar doc来生成项目文档。
但是当erl源文件目录src下建立子目录,并新建erlang文件后,就无法生成文档。

例如,新建 src/tttt/, 并添加 dd_util.erl 文件。

D:\six>d:/tools/rebar/rebar.cmd doc
==> six (doc)
ERROR: doc failed while processing D:/six: {'EXIT',{function_clause,[{edoc,expan
d_sources,
                                [[{tttt,"dd_util.erl","./src/tttt"},
                                  {'',"gateway_http.erl","./src"},
                                  {'',"six.erl","./src"},
                                  {'',"six_app.erl","./src"},
                                  {'',"six_sup.erl","./src"}],
                                 ".erl",
                                 {set,0,16,16,8,80,48,
                                      {[],[],[],[],[],[],[],[],[],[],[],[],[],
                                       [],[],[]},
                                      {{[],[],[],[],[],[],[],[],[],[],[],[],
                                        [],[],[],[]}}},
                                 [],[]],
                                [{file,"edoc.erl"},{line,459}]},
                          {edoc,run,3,[{file,"edoc.erl"},{line,378}]},
                          {rebar_edoc,doc,2,
                                      [{file,"src/rebar_edoc.erl"},{line,63}]},
                          {rebar_core,run_modules,4,
                                      [{file,"src/rebar_core.erl"},
                                       {line,491}]},
                          {rebar_core,execute,6,
                                      [{file,"src/rebar_core.erl"},
                                       {line,416}]},
                          {rebar_core,maybe_execute,8,
                                      [{file,"src/rebar_core.erl"},
                                       {line,300}]},
                          {rebar_core,process_dir1,7,
                                      [{file,"src/rebar_core.erl"},
                                       {line,259}]},
                          {rebar_core,process_commands,2,
                                      [{file,"src/rebar_core.erl"},
                                       {line,91}]}]}}

D:\six>

在rebar.config中添加参数{packages, false}解决了。

{deps, [{mysql, ".*", {git, "https://github.com/dizzyd/erlang-mysql-driver.git"}},
        {lager, ".*",  {git, "https://github.com/basho/lager.git"}},  
        {mochiweb, ".*", {git, "https://github.com/mochi/mochiweb.git"}}]}.

{erl_opts, [{parse_transform, lager_transform}]}.

{edoc_opts, [{packages, false}]}.

大概是Erlang多层目录会建立“subpackages”,应该就是模块名字空间:
If the source code is organized in a hierarchy of subdirectories although it does not use packages, use no_packages
但是没有找到相关的文档,不知道如何建立子包。

参考:
http://www.erlang.org/documentation/doc-5.8.4/lib/edoc-0.7.8/doc/html/edoc.html#run-3
http://www.erlang.org/documentation/doc-5.8.4/lib/edoc-0.7.8/doc/html/chapter.html#Running_EDoc

Erlang edoc 多级目录出错的更多相关文章

  1. Windows Azure Storage (22) Azure Storage如何支持多级目录

    <Windows Azure Platform 系列文章目录> 熟悉Azure平台的读者都知道,Azure Blob有三层架构.如下图:(注意blob.core.chinacloudapi ...

  2. php使用递归创建多级目录

    <?php header('Content-type:text/html;charset=utf8'); echo "Loading time:".date('Y-m-d H ...

  3. PHP判断文件夹是否存在和创建文件夹的方法(递归创建多级目录)

    在开始之前,我先说明一下,可能许多朋友与我一样认为只要给一个路径,mkdir就可以创建文件夹,其实不是那样,单个的MKDIR只能创建一级目录,对于多级的就不行了,那如何用mkdir来创建呢?先我抄一段 ...

  4. PHP 检查并创建多级目录

    <?php //检查并创建多级目录    function checkDir($path){        $pathArray = explode('/',$path);        $no ...

  5. MVC 多级目录(控制器) 路由重写 及 多级Views目录 的寻找视图的规则

    转自:[原]Asp.net Mvc   多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 asp.net mvc 为了更好的控制views的页面存放,和控制器的可读性,需要分开多级目录来 ...

  6. 二、处理MVC多级目录问题——以ABP为基础架构的一个中等规模的OA开发日志

    就个人感觉而言.ASP.NET MVC是一种非常反人类的设计.(我没有接触过Java的MVC,不知道两者是否一样.如果一样,那么搞Java的同学也挺可怜.)尤其是MVC的路由机制,灰常灰常反动.路由所 ...

  7. MVC 多级目录菜单

    MVC多级目录菜单  ----- 简单模拟 Model ---- cs { public class Class1 { public int ID{get;set;} public int paren ...

  8. php创建多级目录的两种方法

    1.使用递归的思想 function mkdirs_2($path){ if(!is_dir($path)){ mkdirs_2(dirname($path)); if(!mkdir($path, 0 ...

  9. PHP递归创建多级目录(一道面试题的解题过程)

    今天看到一道面试题,要写出一个可以创建多级目录的函数: 我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkd ...

随机推荐

  1. [SHOI2008]循环的债务

    Description Alice.Bob和Cynthia总是为他们之间混乱的债务而烦恼,终于有一天,他们决定坐下来一起解决这个问题. 不过,鉴别钞票的真伪是一件很麻烦的事情,于是他们决定要在清还债务 ...

  2. NOI2006 郁闷的出纳员

    题目描述 OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资 ...

  3. NOIWC2018 游记

    day1 上午是自习,做了一些杂题,看了一下ppt,中午准备了一下行李,就出发了,提前了一个小时,谁知道被坑爹导航弄得居然到晚了一点 当走到这里的时候我愣住了 纠结了一分钟,直到有个boy走了进去,我 ...

  4. ●SPOJ 8222 NSUBSTR–Substrings

    题链: http://www.spoj.com/problems/NSUBSTR/题解: 后缀自动机. 不难发现,对于自动机里面的一个状态s, 如果其允许的最大长度为maxs[s],其right集合的 ...

  5. k-d tree模板练习

    1. [BZOJ]1941: [Sdoi2010]Hide and Seek 题目大意:给出n个二维平面上的点,一个点的权值是它到其他点的最长距离减最短距离,距离为曼哈顿距离,求最小权值.(n< ...

  6. C++多态?

    以前看资料只是理解多态是"一个接口,多种调用" ,但是没有理解其真正意思,不明白具体咋么实现. 不过看了这位博主的博客后对多态有了一些理解,链接:https://www.cnblo ...

  7. 获取X天后的日期

    import java.util.Calendar; import java.util.Date; public class main { public static void main(String ...

  8. node的异常处理

    Node是单线程运行环境,一旦抛出的异常没有被捕获,就会引起整个进程的崩溃.所以,Node的异常处理对于保证系统的稳定运行非常重要. node的处理方法: 1.使用throw语句抛出异常 常用的捕获异 ...

  9. sublime下配置C/C++运行环境

    最近在学习<WEB前端课程>老师教我们使用DW,但是不太喜欢,就选择了sublime,写前端代码还是很方便. 平时都是写C++,C比较多,借鉴了别人的配置步骤,将sublime打造成IDE ...

  10. js判断奇偶数实现隐藏显示功能 与css立体按钮

      hello!   好久不见了 ,今天也没准备什么技术,知识想和大家就见个面,一个js判断奇数偶数来实现css样式 ,感觉最大的用途就是页面的导航.就这么一个小小的技术. 劳动快乐   当!当!当! ...