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. [HNOI2015]落忆枫音

    题目描述 「恒逸,你相信灵魂的存在吗?」 郭恒逸和姚枫茜漫步在枫音乡的街道上.望着漫天飞舞的红枫,枫茜突然问出这样一个问题. 「相信吧.不然我们是什么,一团肉吗?要不是有灵魂......我们也不可能再 ...

  2. POI SZP

    贪心: 初始所有点为白色,对于点i,若a[i]为白色则将其染成与i不同的颜色. 证明:若点i确定为白色,a[i]染白色也只能提供一个黑点,故a[i]染黑色不会差:若所有指向i的点均为黑色,则i只能是白 ...

  3. 2015 多校联赛 ——HDU5302(构造)

    Connect the Graph Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...

  4. Educational Codeforces Round 17F Tree nesting

    来自FallDream的博客,未经允许,请勿转载, 谢谢. 给你两棵树,一棵比较大(n<=1000),一棵比较小(m<=12) 问第一棵树中有多少个连通子树和第二棵同构. 答案取膜1e9+ ...

  5. hihocoder 1035 : 自驾旅行 III

    描述 给定一棵含有 n 个结点的树,结点从 1 标号.你从 1 号结点驾车出发,希望遍历一些关键结点(访问到就好,不需要按照这些关键结点的输入顺序).每条边有两个权值,c0, c1 分别表示步行和驾车 ...

  6. *hdu 5536(字典树的运用)

    Input The first line of input contains an integer T indicating the total number of test cases. The f ...

  7. P2P技术概要

          P2P(Peer to Peer)也就是 对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构[1]  ,是对等计算模型在应用层形成的一种组网或网络 ...

  8. 实现string类

    /* 实现string类 */ class String {    public:           String(const char *str=NULL); //构造函数           S ...

  9. dict 字典的用法

    因为这一章节用的比较多,而需要注意的得比较多, 所以总结的笔记也相对比较多一点,我就直接单独写了一页 ##    {key:value} 1. key不能为列表 2.value可以是任意类型值 3.返 ...

  10. 多表insert操作详解

    --1.无条件的多表insert all ; ; ; --没有条件,向多个目标表全量插入,必须有all insert all --不指定emp_1后面的列,也不指定values,那么emp_1中的所有 ...