前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >rebar3-命令

rebar3-命令

作者头像
山海散人
发布2021-03-03 14:24:29
1.5K0
发布2021-03-03 14:24:29
举报
文章被收录于专栏:山海散人技术山海散人技术
  • 每个命令代表一个任务,运行一个或多个功能完成任务。

1. as


  • 高阶任务,它使一个配置文件名称和任务列表在该配置文件下运行。

2. compile


  • 在确保所有依赖项都可用之后,如果依赖项不存在,会获取依赖项,该命令将编译所需的依赖项和项目的应用程序的.app.src文件和.erl文件。

3. clean


  • 从应用程序中删除已编译生成的beam文件。
  • 默认情况下,clean命令删除顶级应用程序的beam文件。对于配置文件的处理也是如此,这意味着rebar3 clean仅仅清除默认配置文件,rebar3 as test clean将仅清除测试配置文件。
  • 通过添加参数--all可以清除顶层应用程序以及依赖项的beam文件

Option

Type

Description

--all/-a

none

清除所有应用程序以及依赖项

--profile/-p

string

指定一个配置,等价于rebar3 as <profile> clean

4. ct


  • 将会执行位于test/目录下的测试用例
  • 最常用的测试选项如与erlang文档ct_run的描述是基本一致的。常用的扩展参数如下:

Option

Type

Description

--dir

逗号分隔的字符串列表

编译并运行指定目录下的所有测试套件

--suite

逗号分隔的字符串列表

编译并运行指定的测试套件,必须使用绝对路径或者使用相对于当前路径指定测试套件。

--group

逗号分隔的字符串列表

运行测试组,请查看Common Test Documentation

--case

逗号分隔的字符串列表

运行的测试用例列表,请查看Common Test Documentation

--spec

逗号分隔的字符串列表

Test Specifications列表

--join_spec

逗号分隔的字符串列表

类似--spec,但会merge为单个然后进行运行

--repeat

整形

多久执行一次测试

--duration

字符串(格式: HHMMSS)

最大允许的测试时间

--until

字符串(格式: HHMMSS)

指定运行测试时间

--force_stop

true、false、skip_rest

测试超时是否终止

--multiply_timetrap

整型

给定数值乘以超时时间为真正超时时间

--scale_timetrap

布尔型

使用代码覆盖率或跟踪时,启用自动超时值缩放

--abort_if_suite_is_missing

布尔值

假如测试失败,是否停止

--sys_config

字符串

在测试运行之前,应该加载的OTP应用程序配置文件列表

--config

逗号分隔的字符串列表

指定测试时使用的配置文件,请查看Common Test Documentation

--allow_user_terms

布尔值

允许用户在配置文件中定义配置,请查看Common Test Documentation

--decrypt_key

字符串

如果配置文件已加密,设置秘钥对其进行解密

--decrypt_file

字符串

如果配置文件已加密,指定秘钥文件对其进行解密

--logdir

字符串

指定测试日志的输出目录,请查看Common Test Documentation,默认: _build/test/logs

logopts

逗号分隔的字符串列表

设置测试日志配置,请查看Common Test Documentation,默认: _build/test/logs

--readable

布尔值

在测试结果中添加测试名称,在终端中仅展示失败的测试日志,默认: true

-v, --verbose

布尔值

详细输出,默认: false

--verbosity

整数

设置测试Verbosity的级别

-c, --cover

布尔值

生成cover数据

--cover_export_name

字符串

更改代码覆盖率文件的名称

--label

字符串

设置测试标签

--basic_html

布尔值

展示基础的HTML

--stylesheet

字符串

HTML输出文件的CSS样式

--create_priv_dir

auto_per_run、auto_per_tc 、manual_per_tc

更改测试创建临时目录的行为

--include

字符串

包含文件的其他目录。添加了与ct_run奇偶校验的选项,通常rebar3应该处理包含文件路径

--name、--sname

字符串

使用给定的名字启动一个分布式节点

--setcookie

字符串

设置一个分布式cookie

--compile_only

Boolean

只是编译测试文件,不运行

  • test配置文件中运行

5. cover


  • 对测试或Eunit测试套件调用的模块执行覆盖分析。当在你的rebar配置文件中配置了{cover_enabled, true}选项或者如果覆盖标志单独使用了这些命令,就调用rebar3 do ctcoverrebar3 do eunitcover或者与rebar3 do eunitctcover结合使用。
  • 生成HTML报告

选项

类型

描述

--reset/-r

none

重置所有覆盖数据

--verbose/-v

none

在终端打印覆盖分析信息

  • 通过向配置文件中添加·{cover_excl_mods, [Modules]}·,可以将特定模块列入代码覆盖黑名单。通过向配置文件添加{cover_excl_apps, [AppNames]}可将特定应用程序列入代码覆盖黑名单。

6. deps


  • 列出依赖关系,无论他们是源代码还是包依赖关系,以及他们是否被锁定。那些被锁定并且未匹配到锁定文件允许后面加一个星号(*)

7. do


  • 通过一个命令运行多个任务,以逗号分隔,例如rebar3 do a,b,c

8. dialyzer

  • 构建并保持最新的一个合适的PLT,并且使用它来对项目进行成功类型分析。

选项

类型

描述

默认值

--update-plt/-u

boolean

启用更新PLT。

true

--succ-typings/-s

boolean

启用成功类型分析

true

  • 有关禁用警告的内容,请查看分析文档的Requesting or Suppressing Warnings in Source Files部分。
  • PLT文件命名格式为<prefidx>_<otp_release>_plt;基础的PLT包含项目PLT经常用到的核心应用程序。每个OTP版本创建一个基本的PLT并存储在base_plt_location。然后使用基本的PLT来构建项目PLTs。
  • 以下配置可以添加到rebar.config下dialyzer下的proplist配置项中。

Option

Description

warnings

一个分析器警告列表

get_warnings

更改PLT文件时显示警告(布尔)

plt_apps

用于确定包含在PLT文件中的应用的策略。 top\_level\_deps只包括直接的依赖关系, all\_deps包括所有嵌套的依赖关系(直接依赖的应用程序被列举在他们的.app文件中的applications和include_applications项中)。

plt_extra_apps

一个包含在PLT文件中的应用程序列表(base_plt_apps中的应用程序已经在列表中)

plt_location

PLT文件的位置,local存储在配置文件的基本目录(默认的)或自定义目录

plt_prefix

PLT文件的前缀,默认为rebar3

base_plt_apps

一个包含在基本PLT文件中的应用程序的列表

base_plt_location

基本PLT文件的位置,global保存在$HOME/.cache/rebar3目录(默认)或一个自定义目录中

base_plt_prefix

基本PLT文件的前缀,默认为rebar3

9. edoc


  • 使用doc生成文档
  • docs配置文件中运行

10. escriptize


  • 生成包含项目和它的依赖项的beam文件的escript可执行文件。

配置选项

类型

描述

escript_main_app

atom

要转到escript的应用程序的名称,如果只有一个默认为顶级应用。当使用一个顶级的存储库(具有多个顶级应用程序)时,必须指定此值。

escript_name

string

生成的escript的名称,要引导的默认模块名(Module:main()),默认为escript_main_app的值

escript_incl_apps

list of

除主应用程序及依赖项之外(来自app文件),还包括在escript存档中的应用程序列表。默认为[]

escript_emu_args

string

escript仿真器参数(在escript声明的%%!之后)。该字符串必须以·%%!·开头并且以换行符结束。例如:%%!+sbtu +AO\n。默认值为:"%%! -escript main MainApps\n

escript_shebang

string

要运行的escript文件的位置。默认为:#!/usr/bin/env escript\n。行结束标记必须包含在字符串中。

escript_comment

string

放入生成的escript的注释。最后必须包含换行标记。默认值为%%\n

  • 要覆盖escript的默认模块名(预期与escript_name相同),请将-escript main Module添加到escript_emu_args
  • 例如relx的escript配置'
代码语言:javascript
复制
{escript_emu_args, "%%! +sbtu +A0 -noinput\n"}.
{escript_incl_apps, [getopt, erlware_commons, bbmustache, providers, relx]}.

11. eunit


  • 对项目应用程序运行eunit测试

选项

类型

描述

--cover/-c

Boolean

生成覆盖数据

--verbose/-v

Boolean

详细输出

--app

逗号分隔的字符串列表

运行测试的应用程序列表。等同于eunit的[{application, App}]

--suite

逗号分隔的字符串列表

运行的测试套件列表。等同于eunit的[{module, Suite}]

--file/-f

逗号分隔的字符串列表

运行的文件列表(例如test/my_tests.beam),等同于eunit的[{file, File}]

  • 使用test配置运行。

12. get-deps


  • 拉取项目依赖。
  • 该命令不是必须的,compile命令会自动拉取。

13. help


  • 显示给定任务或子任务的任务或帮助列表

选项

类型

描述

<task>

string

打印任务的帮助信息

<namespace> <task>

string

打印<namespace>命名空间下的任务的帮助信息

14. new


  • 使用模板创建一个新项目。通过不提供参数来查看可用模板的列表。

选项

类型

描述

--force/-f

none

覆盖已经存在的文件

help <template>

none

显示每个模板的所有变量和参数

15. pkgs


  • 列举可用的包

16. release


  • 构建项目版本,调用rebar3 help release获取更多参数信息

17. relup


  • 从2个版本版本创建relup,调用rebar3 help relup获取更多参数信息

18. report


  • 错误报告中生成上下文数据
  • 用法示例:rebar3 report "mytask --arg1 --arg2"

19. shell


  • 在路径中运行项目应用程序和依赖的shell
  • 使用此命令引导的shell具有允许动态运行rebar3命令的代理,例如r3:do(compile)r3:do(upgrade),并自动重新加载新模块。可以通过调用r3:do(Namespace, Command)访问特定的命名空间。这些命令可以不带参数调用。

选项

类型

描述

--config

string

如果存在配置文件,允许加载配置文件。如果存在默认为relx定义的sys_config条目,加载

--name/--sname

atom

在网络模式下启动节点。等同于erl的-name和-sname选项

--setcookie

string

设置分布式节点的cookie。相当于erl的-setcookie选项

--script

string

应用程序启动之前要评估的escript的路径

--apps

string

以逗号分隔的启动的应用程序名称的列表,如果存在默认为relx定义的sys_config条目

--start-clean

指定后,shell不会引导任何应用程序; 同样适用于覆盖rebar.config中的release或shell元组配置

--relname/-r

atom

如果存在多个版本,请指定要选择的版本

--relvsn/-v

string

如果存在多个版本,请指定要使用的版本

20. tar


  • 打包之后进行压缩,调用rebar3 help tar获取相关参数信息

21. tree


  • 打印项目的依赖关系树和传递依赖关系。

22. lock


  • 获取要添加到rebar.lock文件中的未建立的依赖项。它们只是下载下来,但它们的构建脚本都没有运行。虽然这不一定适用于pre/post hooks和依赖插件。

23. unlock


  • 解锁依赖关系。如果没有提及依赖,这个命令将解锁所有依赖。如果任何特定的顶级依赖(以逗号分隔)作为参数列出,那么它们将被解锁。
  • 一个新的加锁文件生成,如果没有锁保留,加锁文件将被删除。
  • 当一个或多个依赖已经从rebar.config移除,但仍然保留在加锁文件中,就应该使用此命令。

24. update


  • 更新包索引

25. upgrade


  • 升级依赖包并相应的更新锁文件

选项

类型

描述

<dependency>

string

升级依赖包(逗号分隔),如果没有依赖关系被提及,则升级所有依赖关系

26. version


  • 打印rebar3和当前的erlang版本

27. xref


  • 运行交叉引用分析
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/02/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. as
  • 2. compile
  • 3. clean
  • 4. ct
  • 5. cover
  • 6. deps
  • 7. do
  • 8. dialyzer
  • 9. edoc
  • 10. escriptize
  • 11. eunit
  • 12. get-deps
  • 13. help
  • 14. new
  • 15. pkgs
  • 16. release
  • 17. relup
  • 18. report
  • 19. shell
  • 20. tar
  • 21. tree
  • 22. lock
  • 23. unlock
  • 24. update
  • 25. upgrade
  • 26. version
  • 27. xref
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档