文档章节

rebar3文档翻译—命令

易冥天
 易冥天
发布于 2017/02/16 14:42
字数 2229
阅读 87
收藏 0
  1. 每个命令表示运行一个或多个提供程序来完成任务。
  2. as
    1. 高阶任务,其需要一个概要文件名称或者在该概要文件下运行的任务列表
  3. compile
    1. 在确保所有依赖项都可用之后,如果没有要获取依赖项,编译将编译所需的依赖项和项目的应用程序的.app.src文件和.erl文件。
  4. clean
    1. 从应用程序中删除已编译生成的beam文件
    2. 默认情况下,clean命令删除顶级应用程序的beam文件。它根据配置文件这样做,这意味着rebar3 clean仅仅清清除默认配置文件,rebar3 as test clean将仅清除测试配置文件
    3. 添加参数--all可以清除顶层应用程序依赖项的beam文件
    4. Option                       Type                     Description
      1. --all/-a                 none                       Clean all apps, including the dependencies
      2. --profile/-p          string                      Specify a profile (alternative to rebar3 as <profile> clean)
  5. ct
    1. 对位于test/目录下的项目进行常规测试
    2. 最常用的测试选项如erlang文档ct_run的描述是可用的。一些常见的如下
      1. Option          Type            Description
        1. --dir           Comma separated list of strings             Compile and run all test suites in the specified directories.
        2. --suite        Comma separated list of strings             Compile and run all test suites specified. Must be specified by full path, either absolute or relative to the current directory.
        3. --group      Comma separated list of strings             Test groups to run. See the Common Test Documentation.
        4. --config     Comma separated list of strings              Config files to use when running tests. See the Common Test Documentation.
        5. --logdir      String              The directory in which test logs will be written. See the Common Test Documentation. Default: _build/test/logs
        6. -v, --verbose        Boolean           Enable verbose output. Default: false
        7. -c, --cover            Boolean          Generate cover data
    3. 在test配置文件中运行
  6. cover
    1. 对通常测试或Eunit测试套件调用的模块执行覆盖分析。当在你的rebar配置文件中配置了{cover_enabled, true}选项或者如果覆盖标志单独使用了这些命令,就调用rebar3 do ct、cover、rebar3 do eunit、cover或者与rebar3 do eunit、ct、cover两者的结合。
    2. 生成HTML报告
      1. 选项                           类型                            描述
        1. --reset/-r                none                           重置所有覆盖数据
        2. --verbose/-v          none                           在终端打印覆盖分析信息
    3. 通过向配置文件中添加{cover_excl_mods, [Modules]},可以将特定模块列入代码覆盖范围。通过向配置文件添加{cover_excl_apps, [AppNames]}可将特定应用程序列入代码覆盖范围。
  7. deps
    1. 列出依赖关系,无论他们是源代码还是包依赖关系,以及他们是否被锁定。那些被锁定并且未匹配到锁定文件允许后面加一个星号(*)
  8. do
    1. 用于在序列中运行多个任务的高阶提供程序,以逗号分隔,例如 rebar3 do a,b,c
  9. dialyzer
    1. 构建并保持最新的一个合适的PLT,并且使用它来对项目进行成功类型分析。
    2. 选项                  类型                     描述           默认值
      1. --update-plt/-u                boolean            启用更新PLT.。默认值: true      true
      2. --succ-typings/-s             boolean            启用成功类型分析。默认值: true      true
    3. 有关抑制警告的说明,请参阅Dialyzer文档中的请求或抑制源文件中的警告的部分。
    4. PLT文件命名格式为<prefidx>_<otp_release>_plt;基本的PLT包含项目PLT经常用到的核心应用程序。每个OPT版本创建一个基本的PLT并存储在base_plt_location。然后使用基本的PLT来构建项目PLT。
    5. 以下配置可以添加到rebar.config下的dialyzer下的proplist配置项中。
      1. warnings: 一个分析器警告列表
      2. get_warnings: 更改PLT文件时显示警告(布尔)
      3. plt_apps: 用于确定包含在PLT文件中的应用的策略。 top_level_deps只包括直接的依赖关系, all_deps包括所有嵌套的依赖关系(直接依赖的应用程序被列举在他们的.app文件中的applications和include_applications项中)。
      4. plt_extra_apps: 一个包含在PLT文件中的应用程序列表(base_plt_apps中的应用程序已经在列表中)
      5. plt_location: PLT文件的位置,local存储在配置文件的基本目录(默认的)或自定义目录
      6. plt_prefix: PLT文件的前缀,默认为"rebar3"
      7. base_plt_apps: 一个包含在基本PLT文件中的应用程序的列表
      8. base_plt_location: 基本PLT文件的位置,global保存在$HOME/.cache/rebar3目录(默认)或一个自定义目录中
      9. base_plt_prefix: 基本PLT文件的前缀,默认为"rebar3"
  10. edoc
    1. 使用doc生成文档
    2. 在docs配置文件中运行
  11. escriptize
    1. 生成包含项目和它的依赖项的beam文件的escript可执行文件
    2. 配置选项                  类型                   描述
      1. escript_main_app              atom               要转到escript的应用程序的名称,如果只有一个默认为顶级应用。当使用一个顶级的存储库(具有多个顶级应用程序)时,必须指定此值。
      2. escript_name                     string              生成的escript的名称,要引导的默认模块名(Module:main()),默认为escript_main_app的值
      3. escript_incl_apps             list of                除主应用程序及依赖项之外(来自app文件),还包括在escript存档中的应用程序列表。默认为[]
      4. escript_emu_args            string                escript仿真器参数(在escript声明的%%!之后)。该字符创必须以%%!开头并且以换行符结束。例如:"%%!+sbtu +AO\n"。默认值为:"%%! -escript main MainApps\n"
      5. escript_shebang               string               要运行的escript文件的位置。默认为:"#!/usr/bin/env escript\n"。行结束标记必须包含在字符串中。
      6. escript_comment             string               任意的注释放入生成的escript。最后必须包含换行标记。默认值为%%\n
    3. 要覆盖escript的默认模块名(预期与escript_name相同),请将-escript main Module添加到escript_emu_args
    4. 例如relx的escript配置
      1. {escript_emu_args, "%%! +sbtu +A0 -noinput\n"}.
        {escript_incl_apps, [getopt, erlware_commons, bbmustache, providers, relx]}.
  12. eunit
    1. 对项目应用程序运行eunit测试
    2. 选项                类型                    描述
      1. --cover/-c             Boolean                      生成覆盖数据
      2. --verbose/-v         Boolean                      详细输出
      3. --app                     逗号分隔的字符串列表    运行测试的应用程序列表。等同于eunit的[{application, App}]
      4. --suite                    逗号分隔的字符串列表    运行的测试套件列表。等同于eunit的[{module, Suite}]
      5. --file/-f                  逗号分隔的字符串列表     运行的文件列表(例如test/my_tests.beam),等同于eunit的[{file, File}]
    3. 在test配置文件中运行
  13. help
    1. 显示给定任务或子任务的任务或帮助列表
    2. 选项             类型                 描述
      1. <task>                             string              打印任务的帮助信息
      2. <namespace> <task>      string              打印<namespace>命名空间下的任务的帮助信息
  14. new
    1. 使用模板创建一个新项目。通过不提供参数来查看可用模板的列表。
    2. 选项               类型                   描述
      1. --force/-f                   none                 覆盖已经存在的文件
      2. help <template>        none                 显示每个模板的所有变量和参数
  15. pkgs
    1. 列举可用的包
  16. release
    1. 构建项目版本,调用rebar3 help release获取更多参数信息
  17. relup
    1. 从第二个版本创建relup,调用rebar3 help relup获取更多参数信息
  18. report
    1. 错误报告中生成上下文数据
    2. 用法示例:rebar3 report "mytask --arg1 --arg2"
  19. shell
    1. 在路径中运行项目应用程序和依赖的shell
    2. 使用此命令引导的shell具有允许动态运行rebar3命令的代理,例如r3:do(compile)和r3:do(upgrade),并自动重新加载新模块。可以通过调用r3:do(Namespace, Command)访问特定的命名空间。这些命令可以不带参数调用。
    3. 选项            类型                 描述
      1. --config                        string             如果存在配置文件,允许加载配置文件。如果存在默认为relx定义的sys_config条目
      2. --name/--sname          atom              在网络模式下启动节点。等同于erl的-name和-sname选项
      3. --setcookie                   string             设置分布式节点的cookie。相当于erl的-setcookie选项
      4. --script_file                  string             应用程序启动之前要评估的escript的路径
      5. --apps                           string             以逗号分隔的启动的应用程序名称的列表,如果存在默认为relx定义的sys_config条目
  20. tar
    1. 压缩一个版本构建的项目的压缩tar文档,调用rebar3 help tar获取相关参数信息
  21. tree
    1. 打印项目的依赖和传递依赖性的树结构
  22. lock
    1. 获取要添加到rebar.lock文件中的未建立的依赖项。它们只是下载下来,但它们的构建脚本都没有运行。虽然使用前/后钩和dep插件不是必须的。
  23. unlock
    1. 解锁依赖关系。如果没有提及依赖,这个命令将解锁所有依赖。如果任何特定的顶级依赖(以逗号分隔)作为参数列出,那么它们将被解锁。
    2. 然后一个新的加锁文件生成,如果没有锁保留,加锁文件将被删除。
    3. 当一个或多个依赖已经从rebar.config移除,但仍然保留在加锁文件中,就应该使用此命令。
  24. update
    1. 更新包索引
  25. upgrade
    1. 升级依赖包并相应的更新锁文件
    2. 选项                类型                     描述
      1. <dependency>                 string                   升级依赖包(逗号分隔),如果没有依赖关系被提及,则升级所有依赖关系
  26. version
    1. 打印rebar3和当前的erlang版本
  27. xref
    1. 运行交叉引用分析

© 著作权归作者所有

共有 人打赏支持
易冥天
粉丝 31
博文 138
码字总数 70277
作品 0
海淀
程序员
rebar3的一些参考文档

刚使用rebar3,功能太多,各种命令不会用。网上找了一些资料: rebar3的官网,有指定的文档,命令例子都有,入门必备: rebar官网 然后使用流程介绍,这里介绍了一些使用案例和为什么这样做的...

格通
2016/03/25
50
0
Erlang:Rebar3的简单使用

安装 方法一:源码安装 方法二:点击「链接」直接下载 https://s3.amazonaws.com/rebar3/rebar3 方法三:直接从其他项目中拷贝 项目说明 新建项目命令 app项目结构 PS:看文件目录就能大体看出...

新溪
07/24
0
0
为了方便发布tar,rebar3要适应relx迁移include目录到src目录

使用rebar3打tar包,十分方便。其中rebar3使用relx打包,relx里面有下面的选项,可以在打包的时候,不打包src目录,方便在发布的时候,不发布src里面的源码文件: 参考:relx Configuration ...

格通
2016/09/30
32
0
leeyi/es_client

es_client An OTP application wget https://s3.amazonaws.com/rebar3/rebar3 && chmod +x rebar3 Build $ rebar3 compile Build and Run (In Erlang/OTP 20) Erlang/OTP 20 [erts-9.0] [sou......

leeyi
2017/09/13
0
0
rebar3发布,归属权更新到erlang团队了

rebar3的beta 4发布很久了,一直奇怪为啥没有发布3.0稳定版。今天一看,不但发布了3.0 stable版本,而且github的地址也改了,由github.com/rebar/rebar3 改为 github.com/erlang/rebar3 了,...

格通
2016/03/15
52
0

没有更多内容

加载失败,请刷新页面

加载更多

使用rancher界面化管理docker并部署springCloud项目的其中一个服务

一、先来个简单的 1.安装docker 2.安装eureka——运行docker命令安装 3.安装eureka——运行dokcer镜像安装 (1)构建eureka的镜像,网易云的docker镜像比较全一些,也可以去https://hub.docke...

monroeCode
24分钟前
3
0
理论与实践:如何从Hadoop迁移到MaxCompute

摘要:MaxCompute大数据计算服务,能提供快速、完全托管的PB级数据仓库解决方案,能够使用户经济且高效地分析处理海量数据。而用户往往之前使用了Hadoop实现大数据计算任务,在选择了阿里云大...

阿里云云栖社区
25分钟前
2
0
mysql: utf8 && utf8mb4

https://mathiasbynens.be/notes/mysql-utf8mb4 临时收藏

阿dai
36分钟前
2
0
面试宝典系列-nginx限流

Nginx自身有的请求限制模块ngx_http_limit_req_module、流量限制模块ngx_stream_limit_conn_module基于令牌桶算法,可以方便的控制令牌速率,自定义调节限流,实现基本的限流控制。 如何Ngi...

suyain
37分钟前
3
0
下拉框选择数据过滤?

需求:下拉框数据新增一条数据,已选择的不能再重新被选择 数据:存放表格数据的数组 scoreTable 下拉框数据 catorgaryArr 定义一个已经选择了的id数组 catorgaryIds 实现: arr 使用来保存每...

西园里的猫
42分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部