.app.src
文件和.erl
文件。rebar3 clean
仅仅清除默认配置文件,rebar3 as test clean
将仅清除测试配置文件。
--all
可以清除顶层应用程序以及依赖项的beam文件
Option | Type | Description |
---|---|---|
--all/-a | none | 清除所有应用程序以及依赖项 |
--profile/-p | string | 指定一个配置,等价于rebar3 as <profile> clean |
test/
目录下的测试用例
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
配置文件中运行{cover_enabled, true}
选项或者如果覆盖标志单独使用了这些命令,就调用rebar3 do ct
、cover
、rebar3 do eunit
、cover
或者与rebar3 do eunit
、ct
、cover
结合使用。
选项 | 类型 | 描述 |
---|---|---|
--reset/-r | none | 重置所有覆盖数据 |
--verbose/-v | none | 在终端打印覆盖分析信息 |
*
)rebar3 do a,b,c
选项 | 类型 | 描述 | 默认值 |
---|---|---|---|
--update-plt/-u | boolean | 启用更新PLT。 | true |
--succ-typings/-s | boolean | 启用成功类型分析 | true |
<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 |
docs
配置文件中运行配置选项 | 类型 | 描述 |
---|---|---|
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_name
相同),请将-escript main Module
添加到escript_emu_args
中
relx
的escript配置'
{escript_emu_args, "%%! +sbtu +A0 -noinput\n"}.
{escript_incl_apps, [getopt, erlware_commons, bbmustache, providers, relx]}.
选项 | 类型 | 描述 |
---|---|---|
--cover/-c | Boolean | 生成覆盖数据 |
--verbose/-v | Boolean | 详细输出 |
--app | 逗号分隔的字符串列表 | 运行测试的应用程序列表。等同于eunit的[{application, App}] |
--suite | 逗号分隔的字符串列表 | 运行的测试套件列表。等同于eunit的[{module, Suite}] |
--file/-f | 逗号分隔的字符串列表 | 运行的文件列表(例如test/my_tests.beam),等同于eunit的[{file, File}] |
test
配置运行。compile
命令会自动拉取。选项 | 类型 | 描述 |
---|---|---|
<task> | string | 打印任务的帮助信息 |
<namespace> <task> | string | 打印<namespace>命名空间下的任务的帮助信息 |
选项 | 类型 | 描述 |
---|---|---|
--force/-f | none | 覆盖已经存在的文件 |
help <template> | none | 显示每个模板的所有变量和参数 |
rebar3 help release
获取更多参数信息rebar3 help relup
获取更多参数信息rebar3 report "mytask --arg1 --arg2"
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 | 如果存在多个版本,请指定要使用的版本 |
rebar3 help tar
获取相关参数信息rebar.lock
文件中的未建立的依赖项。它们只是下载下来,但它们的构建脚本都没有运行。虽然这不一定适用于pre/post hooks和依赖插件。rebar.config
移除,但仍然保留在加锁文件中,就应该使用此命令。
选项 | 类型 | 描述 |
---|---|---|
<dependency> | string | 升级依赖包(逗号分隔),如果没有依赖关系被提及,则升级所有依赖关系 |