Provided by: rebar3_3.18.0-1_all 

NAME
rebar3 - tool for working with Erlang projects
SYNOPSIS
rebar3 --version
rebar3 help
rebar3 command [options] ...
DESCRIPTION
Rebar3 is an Erlang tool that makes it easy to create, develop, and release Erlang libraries,
applications, and systems in a repeatable manner.
Full documentation at http://www.rebar3.org/
ESSENTIAL COMMANDS
For the full command list, see the COMMANDS section.
With rebar3 help <task>, commands and plugins will display their own help information.
compile
Compile the current project
new (help [template])|template
Show information about templates or use one
update Fetch the newest version of the Hex index
do command[,command,...]
Run one or more commands in a sequence
shell Start the current project in a REPL. You can then use r3:do(task) to call it on the project
without dropping the current state.
COMMANDS
as Higher order provider for running multiple tasks in a sequence as a certain profiles.
clean [-a|--all] [-p|--profile]
Remove compiled beam files from apps.
--all: Clean all apps include deps
--profile: Clean under profile. Equivalent to `rebar3 as <profile> clean`
compile [-d|--deps_only]
Compile apps .app.src and .erl files.
--deps_only: Only compile dependencies, no project apps will be built.
cover [-r|--reset] [-v|--verbose] [-m|--min_coverage]
Perform coverage analysis.
--reset: Reset all coverdata.
--verbose: Print coverage analysis.
--min_coverage: Mandate a coverage percentage required to succeed (0..100)
ct [--dir] [--suite] [--group] [--case] [--label] [--config] [--spec] [--join_specs] [--allow_user_terms]
[--logdir] [--logopts] [--verbosity] [-c|--cover] [--cover_export_name] [--repeat] [--duration] [--until]
[--force_stop] [--basic_html] [--stylesheet] [--decrypt_key] [--decrypt_file] [--abort_if_missing_suites]
[--multiply_timetraps] [--scale_timetraps] [--create_priv_dir] [--include] [--readable] [-v|--verbose]
[--name] [--sname] [--setcookie] [--sys_config] [--compile_only] [--retry]
Run Common Tests.
--dir: List of additional directories containing test suites
--suite: List of test suites to run
--group: List of test groups to run
--case: List of test cases to run
--label: Test label
--config: List of config files
--spec: List of test specifications
--join_specs: Merge all test specifications and perform a single test run
--allow_user_terms: Allow user defined config values in config files
--logdir: Log folder
--logopts: Options for common test logging
--verbosity: Verbosity
--cover: Generate cover data
--cover_export_name: Base name of the coverdata file to write
--repeat: How often to repeat tests
--duration: Max runtime (format: HHMMSS)
--until: Run until (format: HHMMSS)
--force_stop: Force stop on test timeout (true | false | skip_rest)
--basic_html: Show basic HTML
--stylesheet: CSS stylesheet to apply to html output
--decrypt_key: Path to key for decrypting config
--decrypt_file: Path to file containing key for decrypting config
--abort_if_missing_suites: Abort if suites are missing
--multiply_timetraps:
--scale_timetraps: Scale timetraps
--create_priv_dir: Create priv dir (auto_per_run | auto_per_tc | manual_per_tc)
--include: Directories containing additional include files
--readable: Shows test case names and only displays logs to shell on failures (true | compact |
false)
--verbose: Verbose output
--name: Gives a long name to the node
--sname: Gives a short name to the node
--setcookie: Sets the cookie if the node is distributed
--sys_config: List of application config files
--compile_only: Compile modules in the project with the test configuration but do not run the
tests
--retry: Experimental feature. If any specification for previously failing test is found, runs
them.
deps List dependencies
dialyzer [-u|--update-plt] [-s|--succ-typings]
Run the Dialyzer analyzer on the project.
--update-plt: Enable updating the PLT. Default: true
--succ-typings: Enable success typing analysis. Default: true
do Higher order provider for running multiple tasks in a sequence.
edoc Generate documentation using edoc.
escriptize
Generate escript archive.
eunit [--app] [--application] [-c|--cover] [--cover_export_name] [-d|--dir] [-f|--file] [-m|--module]
[-s|--suite] [-v|--verbose] [--name] [--sname] [--setcookie]
Run EUnit Tests.
--app: Comma separated list of application test suites to run. Equivalent to `[{application,
App}]`.
--application: Comma separated list of application test suites to run. Equivalent to
`[{application, App}]`.
--cover: Generate cover data. Defaults to false.
--cover_export_name: Base name of the coverdata file to write
--dir: Comma separated list of dirs to load tests from. Equivalent to `[{dir, Dir}]`.
--file: Comma separated list of files to load tests from. Equivalent to `[{file, File}]`.
--module: Comma separated list of modules to load tests from. Equivalent to `[{module, Module}]`.
--suite: Comma separated list of modules to load tests from. Equivalent to `[{module, Module}]`.
--verbose: Verbose output. Defaults to false.
--name: Gives a long name to the node
--sname: Gives a short name to the node
--setcookie: Sets the cookie if the node is distributed
get-deps
Fetch dependencies.
help Display a list of tasks or help for a given task or subtask.
new [-f|--force]
Create new project from templates.
--force: overwrite existing files
path [--app] [--base] [--bin] [--ebin] [--lib] [--priv] [-s|--separator] [--src] [--rel]
Print paths to build dirs in current profile.
--app: Comma separated list of applications to return paths for.
--base: Return the `base' path of the current profile.
--bin: Return the `bin' path of the current profile.
--ebin: Return all `ebin' paths of the current profile's applications.
--lib: Return the `lib' path of the current profile.
--priv: Return the `priv' path of the current profile's applications.
--separator: In case of multiple return paths, the separator character to use to join them.
--src: Return the `src' path of the current profile's applications.
--rel: Return the `rel' path of the current profile.
pkgs List information for a package.
release [-n|--relname] [-v|--relvsn] [-g|--goal] [-u|--upfrom] [-o|--output-dir] [-h|--help] [-l|--lib-
dir] [-p|--path] [--default-libs] [-V|--verbose] [-d|--dev-mode] [-i|--include-erts] [-a|--override]
[-c|--config] [--overlay_vars] [--vm_args] [--sys_config] [--system_libs] [--version] [-r|--root]
Build release of project.
--relname: Specify the name for the release that will be generated
--relvsn: Specify the version for the release
--goal: Specify a target constraint on the system. These are usually the OTP
--upfrom: Only valid with relup target, specify the release to upgrade from
--output-dir: The output directory for the release. This is `./` by default.
--help: Print usage
--lib-dir: Additional dir that should be searched for OTP Apps
--path: Additional dir to add to the code path
--default-libs: Whether to use the default system added lib dirs (means you must add them all
manually). Default is true
--verbose: Verbosity level, maybe between 0 and 3
--dev-mode: Symlink the applications and configuration into the release instead of copying
--include-erts: If true include a copy of erts used to build with, if a path include erts at that
path. If false, do not include erts
--override: Provide an app name and a directory to override in the form <appname>:<app directory>
--config: The path to a config file
--overlay_vars: Path to a file of overlay variables
--vm_args: Path to a file to use for vm.args
--sys_config: Path to a file to use for sys.config
--system_libs: Path to dir of Erlang system libs
--version: Print relx version
--root: The project root directory
relup [-n|--relname] [-v|--relvsn] [-g|--goal] [-u|--upfrom] [-o|--output-dir] [-h|--help] [-l|--lib-dir]
[-p|--path] [--default-libs] [-V|--verbose] [-d|--dev-mode] [-i|--include-erts] [-a|--override]
[-c|--config] [--overlay_vars] [--vm_args] [--sys_config] [--system_libs] [--version] [-r|--root]
Create relup of releases.
--relname: Specify the name for the release that will be generated
--relvsn: Specify the version for the release
--goal: Specify a target constraint on the system. These are usually the OTP
--upfrom: Only valid with relup target, specify the release to upgrade from
--output-dir: The output directory for the release. This is `./` by default.
--help: Print usage
--lib-dir: Additional dir that should be searched for OTP Apps
--path: Additional dir to add to the code path
--default-libs: Whether to use the default system added lib dirs (means you must add them all
manually). Default is true
--verbose: Verbosity level, maybe between 0 and 3
--dev-mode: Symlink the applications and configuration into the release instead of copying
--include-erts: If true include a copy of erts used to build with, if a path include erts at that
path. If false, do not include erts
--override: Provide an app name and a directory to override in the form <appname>:<app directory>
--config: The path to a config file
--overlay_vars: Path to a file of overlay variables
--vm_args: Path to a file to use for vm.args
--sys_config: Path to a file to use for sys.config
--system_libs: Path to dir of Erlang system libs
--version: Print relx version
--root: The project root directory
report Provide a crash report to be sent to the rebar3 issues page.
shell [--config] [--name] [--sname] [--setcookie] [--script] [--apps] [--start-clean] [--user_drv_args]
Run shell with project apps and deps in path.
--config: Path to the config file to use. Defaults to {shell, [{config, File}]} and then the relx
sys.config file if not specified.
--name: Gives a long name to the node.
--sname: Gives a short name to the node.
--setcookie: Sets the cookie if the node is distributed.
--script: Path to an escript file to run before starting the project apps. Defaults to
rebar.config {shell, [{script_file, File}]} if not specified.
--apps: A list of apps to boot before starting the shell. (E.g. --apps app1,app2,app3) Defaults to
rebar.config {shell, [{apps, Apps}]} or relx apps if not specified.
--start-clean: Cancel any applications in the 'apps' list or release.
--user_drv_args: Arguments passed to user_drv start function for creating custom shells.
tar [-n|--relname] [-v|--relvsn] [-g|--goal] [-u|--upfrom] [-o|--output-dir] [-h|--help] [-l|--lib-dir]
[-p|--path] [--default-libs] [-V|--verbose] [-d|--dev-mode] [-i|--include-erts] [-a|--override]
[-c|--config] [--overlay_vars] [--vm_args] [--sys_config] [--system_libs] [--version] [-r|--root]
Tar archive of release built of project.
--relname: Specify the name for the release that will be generated
--relvsn: Specify the version for the release
--goal: Specify a target constraint on the system. These are usually the OTP
--upfrom: Only valid with relup target, specify the release to upgrade from
--output-dir: The output directory for the release. This is `./` by default.
--help: Print usage
--lib-dir: Additional dir that should be searched for OTP Apps
--path: Additional dir to add to the code path
--default-libs: Whether to use the default system added lib dirs (means you must add them all
manually). Default is true
--verbose: Verbosity level, maybe between 0 and 3
--dev-mode: Symlink the applications and configuration into the release instead of copying
--include-erts: If true include a copy of erts used to build with, if a path include erts at that
path. If false, do not include erts
--override: Provide an app name and a directory to override in the form <appname>:<app directory>
--config: The path to a config file
--overlay_vars: Path to a file of overlay variables
--vm_args: Path to a file to use for vm.args
--sys_config: Path to a file to use for sys.config
--system_libs: Path to dir of Erlang system libs
--version: Print relx version
--root: The project root directory
tree [-v|--verbose]
Print dependency tree.
--verbose: Print repo and branch/tag/ref for git and hg deps
unlock Unlock dependencies.
update Update package index.
upgrade
Upgrade dependencies.
version
Print version for rebar and current Erlang.
xref Run cross reference analysis.
ENVIRONMENT
Environment variables allow overall rebar3 control across command boundaries.
REBAR_PROFILE
Choose a default profile. Defaults to default
HEX_CDN
Pick an alternative hex mirror.
REBAR_CACHE_DIR
Location of the directory for local cache. Defaults to hex.pm.
QUIET Only display errors.
DEBUG Display debug information.
REBAR_COLOR=high|low
How much color to show in the terminal. Defaults to high.
REBAR_CONFIG
Name of rebar configuration files. Defaults to rebar.config
REBAR_GIT_CLONE_OPTIONS
Arguments to add after each git clone operation. For example, the value --reference
~/.cache/repos.reference allows one to create a cache of all fetched repositories across builds
Configuration File Options
See http://www.rebar3.org/v3.0/docs/configuration
Erlang November 2018 REBAR3(1)