文档章节

rebar3文档翻译—命令

影狼
 影狼
发布于 2017/02/16 14:42
字数 2229
阅读 75
收藏 0
点赞 0
评论 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
博文 133
码字总数 65034
作品 0
海淀
程序员
rebar3的一些参考文档

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

格通
2016/03/25
50
0
收藏的博客 -- erlang学习

一、技术博客 http://blog.csdn.net/erlib 为什么我要选择erlang+go进行服务器架构(1) 为什么我要选择erlang+go进行服务器架构(2) http://www.qingliangcn.org/ https://github.com/qinglian...

libaineu2004
2017/09/14
0
0
【读书笔记】"Erlang In Anger" Erlang应用的错误调试

全书 封面不明觉厉 这本书很薄,只有93页,而且是免费的,有兴趣的朋友可以去看一看。虽然书中没有提到Elixir,但对于学习Elixir也很有帮助。这本书适合对Erlang和OTP有初步了解的人阅读。书...

ljzn
2016/09/26
29
1
为了方便发布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
rebar3使用relx打包了

rebar3: https://github.com/erlang/rebar3 relx: http://github.com/erlware/relx relflox: http://github.com/RJ/relflow rebar3不使用reltool了,转用relx了。 No ReltoolReltool is out......

格通
2016/03/23
69
0
rebar3 shell使用

参考:rebar3 shell 使用rebar3开发时,使用--name参数: rebar3 shell --name=a@192.168.1.1 使用--sname参数 rebar3 shell --sname=a --sname不需要添加ip域名。...

格通
2016/03/30
22
0
Cowboy的使用

使用rebar3创建erlang项目 修改rebar.config 创建conf文件夹 在conf下创建vm.args和sys.config文件 vm.args sys.config 修改src/test_cowboy.app.src 修改src/testcowboysup.erl 新建src/tes......

影狼
2017/12/22
8
0
rebar3使用run_erl运行erlang项目

在rebar3创建的项目中,启动的脚本是: "$BINDIR/runerl" -daemon "$PIPEDIR" "$RUNNERLOGDIR" "$(relxstartcommand)" 搜索一番是通过...

格通
2016/04/06
59
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

告警系统主脚本、告警系统配置文件、告警系统监控项目

告警系统主脚本 为方便需要,所有的shell脚本放到 /usr/local/sbin/ 目录下 切换到 /usr/local/sbin/ 目录下,创建告警系统脚本 #!/bin/bash#Written by aming.# 是否发送邮件的开关(1表...

Zhouliang6
6分钟前
1
0
不要再问我跨域的问题了

原文链接:web.jobbole.com 【RTC实时互联网大会 限时免费 马上报名】www.bagevent.com 写下这篇文章后我想,要不以后就把这种基础的常见知识都归到这个“不要再问我XX的问题”,形成一系列内...

阿K1225
7分钟前
0
0
Tomcat配置虚拟路径

<?xml version="1.0" encoding="UTF-8"?> <Context docBase="/data/dispute_https/headPortrait/" path="/headPortrait" reloadable="true"/> <!-- 该文件名为headPortrait.xml,放在${tomca......

Helios51
9分钟前
0
0
开源PaaS Rainbond 3.6.1 Released

本次3.6.1版本更新,重点修复了3.6.0版本部分情况下会出现的BUG,同时改进了内部市场、参数验证、历史消息等功能,详细更新记录如下—— 3.6.1 功能改进 云帮初次使用跳转至注册页面 消息添加...

好雨云帮
9分钟前
0
0
Unsupported major.minor version 52.0

执行代码的jdk版本 低于 编译的jdk版本 其中52.0 对应的就是 jdk1.8版本。

@林文龙
9分钟前
0
0
聊聊spring cloud的AbstractLoadBalancingClient

序 本文主要研究一下spring cloud的AbstractLoadBalancingClient AbstractLoadBalancingClient spring-cloud-netflix-ribbon-2.0.0.RELEASE-sources.jar!/org/springframework/cloud/netfli......

go4it
10分钟前
0
0
博客改版通知

先上博客地址 --> http://metaphors.name 最近将博客从 Jekyll 迁到了 Hexo,所以简书、开源中国、博客园、CSDN文章中的的部分图片丢了,原文链接也不可用了,不过没关系,原文链接都会转到博...

Metaphors
11分钟前
0
0
vue基础知识练习

一、Hello World <div id="itany">{{msg}} <!-- 两对大括号{{}}称为模板,用来进行数据的绑定显示在页面中 --> </div><script src="js/vue.js"></script><script>var vm=new Vue({......

一个yuanbeth
14分钟前
0
0
spring @Transactional注解参数详解

原文:事物注解方式: @Transactional 当标于类前时, 标示类中所有方法都进行事物处理 , 例子: 1 @Transactional public class TestServiceBean implements TestService {} 当类中某些方法不需...

binhu
17分钟前
0
0
CORS 跨域实践

本文首发于个人微信公众号《andyqian》,期待你的关注~ 前言 系统通常都是由单体应用逐渐演化而来,演化成为前后端分离的分布式应用。在享受分布式系统带来的诸多好处之时,随之而来的也有不...

andyqian
24分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部