Closed alex88 closed 7 years ago
Nothing jumps out immediately I'm afraid. Could you share the project in question please? Or a reproduction?
I'd be interested in finding out why fs 2.12.0 doesn't compile for you, it works on this mac I have here.
This is just by installing it regularly
➜ Desktop mix new test
* creating README.md
* creating .gitignore
* creating mix.exs
* creating config
* creating config/config.exs
* creating lib
* creating lib/test.ex
* creating test
* creating test/test_helper.exs
* creating test/test_test.exs
Your Mix project was created successfully.
You can use "mix" to compile it, test it, and more:
cd test
mix test
Run "mix help" for more commands.
➜ Desktop cd test
➜ test mix test
Compiling 1 file (.ex)
Generated test app
..
Finished in 0.02 seconds
2 tests, 0 failures
Randomized with seed 887721
➜ test iex --version
Erlang/OTP 19 [erts-8.2] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
IEx 1.4.0
➜ test mix deps.get
Running dependency resolution...
Dependency resolution completed:
fs 2.12.0
mix_test_watch 0.3.2
* Getting mix_test_watch (Hex package)
Checking package (https://repo.hex.pm/tarballs/mix_test_watch-0.3.2.tar)
Fetched package
* Getting fs (Hex package)
Checking package (https://repo.hex.pm/tarballs/fs-2.12.0.tar)
Fetched package
➜ test DEBUG=1 mix deps.compile
===> Fetching pc ({pkg,<<"pc">>,<<"1.4.0">>})
===> Cached copy of https://s3.amazonaws.com:443/s3.hex.pm/tarballs/pc-1.4.0.tar? still valid
===> Version cached at /Users/alex/.cache/rebar3/hex/default/packages/pc-1.4.0.tar is up to date, reusing it
===> Moving checkout "/tmp/.tmp_dir631926048058" to "/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc"
===> sh info:
cwd: "/Users/alex/Desktop/test/deps/fs"
cmd: mv /tmp/.tmp_dir631926048058 /Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc
===> opts: [{use_stdout,false},abort_on_error]
===> Port Cmd: mv /tmp/.tmp_dir631926048058 /Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc
Port Opts: [exit_status,{line,16384},use_stdio,stderr_to_stdout,hide,eof]
===> Compiling pc
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc", pre_hooks, compile) -> no hooks defined
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc", pre_hooks, erlc_compile) -> no hooks defined
===> erlopts [debug_info,debug_info,inline_list_funcs,
warn_deprecated_function,warn_export_all,warn_export_vars,
warn_obsolete_guard,warn_shadow_vars,warn_untyped_record,
warn_unused_function,warn_unused_import,warnings_as_errors]
===> files to compile ["/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc_util.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc_prv_compile.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc_prv_clean.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc_port_specs.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc_port_env.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc_compilation.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc.erl"]
===> Compiled pc_util.erl
===> Compiled pc_prv_compile.erl
===> Compiled pc_prv_clean.erl
===> Compiled pc_port_specs.erl
===> Compiled pc_port_env.erl
===> Compiled pc_compilation.erl
===> Compiled pc.erl
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc", post_hooks, erlc_compile) -> no hooks defined
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc", pre_hooks, app_compile) -> no hooks defined
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc", post_hooks, app_compile) -> no hooks defined
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc", post_hooks, compile) -> no hooks defined
===> Fetching rebar3_hex ({pkg,<<"rebar3_hex">>,<<"3.0.0">>})
===> Cached copy of https://s3.amazonaws.com:443/s3.hex.pm/tarballs/rebar3_hex-3.0.0.tar? still valid
===> Version cached at /Users/alex/.cache/rebar3/hex/default/packages/rebar3_hex-3.0.0.tar is up to date, reusing it
===> Moving checkout "/tmp/.tmp_dir5572811376" to "/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex"
===> sh info:
cwd: "/Users/alex/Desktop/test/deps/fs"
cmd: mv /tmp/.tmp_dir5572811376 /Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex
===> opts: [{use_stdout,false},abort_on_error]
===> Port Cmd: mv /tmp/.tmp_dir5572811376 /Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex
Port Opts: [exit_status,{line,16384},use_stdio,stderr_to_stdout,hide,eof]
===> Compiling rebar3_hex
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex", pre_hooks, compile) -> no hooks defined
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex", pre_hooks, erlc_compile) -> no hooks defined
===> erlopts [debug_info,debug_info]
===> files to compile ["/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_utils.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_user.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_tar.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_search.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_pkg.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_owner.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_key.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_info.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_http.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_docs.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_cut.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex_config.erl",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex.erl"]
===> Compiled rebar3_hex_utils.erl
===> Compiled rebar3_hex_user.erl
===> Compiled rebar3_hex_tar.erl
===> Compiled rebar3_hex_search.erl
===> Compiled rebar3_hex_pkg.erl
===> Compiled rebar3_hex_owner.erl
===> Compiled rebar3_hex_key.erl
===> Compiled rebar3_hex_info.erl
===> Compiled rebar3_hex_http.erl
===> Compiled rebar3_hex_docs.erl
===> Compiled rebar3_hex_cut.erl
===> Compiled rebar3_hex_config.erl
===> Compiled rebar3_hex.erl
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex", post_hooks, erlc_compile) -> no hooks defined
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex", pre_hooks, app_compile) -> no hooks defined
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex", post_hooks, app_compile) -> no hooks defined
===> run_hooks("/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex", post_hooks, compile) -> no hooks defined
===> Expanded command sequence to be run: []
===> Expanded command sequence to be run: [{default,app_discovery},
{bare,compile}]
===> Not adding provider pc compile from module pc_prv_compile because it already exists from module pc_prv_compile
===> Not adding provider pc clean from module pc_prv_clean because it already exists from module pc_prv_clean
===> Not adding provider hex user from module rebar3_hex_user because it already exists from module rebar3_hex_user
===> Not adding provider hex cut from module rebar3_hex_cut because it already exists from module rebar3_hex_cut
===> Not adding provider hex config from module rebar3_hex_config because it already exists from module rebar3_hex_config
===> Not adding provider hex key from module rebar3_hex_key because it already exists from module rebar3_hex_key
===> Not adding provider hex info from module rebar3_hex_info because it already exists from module rebar3_hex_info
===> Not adding provider hex owner from module rebar3_hex_owner because it already exists from module rebar3_hex_owner
===> Not adding provider hex docs from module rebar3_hex_docs because it already exists from module rebar3_hex_docs
===> Not adding provider hex search from module rebar3_hex_search because it already exists from module rebar3_hex_search
===> Not adding provider hex publish from module rebar3_hex_pkg because it already exists from module rebar3_hex_pkg
===> Not adding provider pc compile from module pc_prv_compile because it already exists from module pc_prv_compile
===> Not adding provider pc clean from module pc_prv_clean because it already exists from module pc_prv_clean
===> Not adding provider hex user from module rebar3_hex_user because it already exists from module rebar3_hex_user
===> Not adding provider hex cut from module rebar3_hex_cut because it already exists from module rebar3_hex_cut
===> Not adding provider hex config from module rebar3_hex_config because it already exists from module rebar3_hex_config
===> Not adding provider hex key from module rebar3_hex_key because it already exists from module rebar3_hex_key
===> Not adding provider hex info from module rebar3_hex_info because it already exists from module rebar3_hex_info
===> Not adding provider hex owner from module rebar3_hex_owner because it already exists from module rebar3_hex_owner
===> Not adding provider hex docs from module rebar3_hex_docs because it already exists from module rebar3_hex_docs
===> Not adding provider hex search from module rebar3_hex_search because it already exists from module rebar3_hex_search
===> Not adding provider hex publish from module rebar3_hex_pkg because it already exists from module rebar3_hex_pkg
===> Compiling fs
===> run_hooks("/Users/alex/Desktop/test/deps/fs", pre_hooks, {pc,compile}) -> no hooks defined
===> Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace
===> Uncaught error: undef
===> Stack trace to the error location: [{pc_port_specs,construct,
[{state_t,
"/Users/alex/Desktop/test/deps/fs",
{dict,19,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{deps,default}],
[{plugins,default},
pc,rebar3_hex],
[{project_plugins,default}]],
[[caller|command_line],
[base_dir,47,85,115,101,114,
115,47,97,108,101,120,47,68,
101,115,107,116,111,112,47,
116,101,115,116,47,100,101,
112,115,47,102,115,47,95,98,
117,105,108,100],
[deps_dir,108,105,98]],
[[port_specs,
{"darwin",
"priv/mac_listener",
["c_src/mac/*.c"]},
{"freebsd","priv/kqueue",
["c_src/bsd/*.c"]}],
[plugins,pc,rebar3_hex],
[provider_hooks,
{pre,
[{compile,{pc,compile}},
{clean,{pc,clean}}]}],
[defines],
[profiles,
{test,
[{erl_opts,[{d,'TEST'}]},
{extra_src_dirs,
["test"]}]}],
[overrides],
[post_hooks],
[pre_hooks],
[artifacts]],
[],
[[vsn_cache|
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[]},
{{[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[],
[]}}}],
[force,48]],
[[port_env,
{"darwin","LDFLAGS",
"-framework CoreFoundation -framework CoreServices"},
{"darwin","CC","clang"},
{"darwin","CFLAGS",
"-Wno-deprecated-declarations"},
{"freebsd","LDFLAGS",[]},
{"freebsd","CC","cc"},
{"freebsd","CFLAGS",[]}]],
[],[],[],[],
[[task,104,101,108,112]],
[],[],[],[]}}},
{dict,2,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],[],[],
[[all_plugin_deps,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/ebin",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/ebin",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/ebin",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/ebin",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/ebin",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/ebin"]],
[[default,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/ebin",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/ebin",
"/Users/alex/.mix/rebar3/ssl_verify_hostname/ebin",
"/Users/alex/.mix/rebar3/relx/ebin",
"/Users/alex/.mix/rebar3/rebar/ebin",
"/Users/alex/.mix/rebar3/providers/ebin",
"/Users/alex/.mix/rebar3/getopt/ebin",
"/Users/alex/.mix/rebar3/eunit_formatters/ebin",
"/Users/alex/.mix/rebar3/erlware_commons/ebin",
"/Users/alex/.mix/rebar3/cth_readable/ebin",
"/Users/alex/.mix/rebar3/cf/ebin",
"/Users/alex/.mix/rebar3/certifi/ebin",
"/Users/alex/.mix/rebar3/bbmustache/ebin",
"/Users/alex/.mix/rebar3",
".",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/kernel-5.1.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/stdlib-3.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/xmerl-1.3.12/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/wx-1.8/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/typer-0.9.11/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/tools-2.9/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/syntax_tools-2.1.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/ssl-8.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/ssh-4.4/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/snmp-5.2.4/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/sasl-3.0.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/runtime_tools-1.11/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/reltool-0.7.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/public_key-1.3/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/percept-0.9/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/parsetools-2.1.4/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/otp_mibs-1.1.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/os_mon-2.4.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/orber-3.8.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/observer-2.3/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/mnesia-4.14.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/megaco-3.18.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/inets-6.3.4/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/ic-4.4.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/hipe-3.15.3/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/gs-1.6.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/eunit-2.3.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/et-1.6/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/erts-8.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/erl_interface-3.9.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/erl_docgen-0.6.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/eldap-1.2.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/edoc-0.8.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/diameter-1.12.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/dialyzer-3.0.3/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/debugger-4.2.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/crypto-3.7.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/cosTransactions-1.3.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/cosTime-1.2.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/cosProperty-1.2.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/cosNotification-1.2.2/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/cosFileTransfer-1.2.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/cosEventDomain-1.2.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/cosEvent-2.2.1/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/compiler-7.0.3/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/common_test-1.13/ebin",
"/usr/local/Cellar/erlang/19.2/lib/erlang/lib/asn1-4.0.4/ebin"]],
[],[],[],[],[],[],[],[],[],[],
[]}}},
{dict,16,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{deps,default}],
[{plugins,default},
pc,rebar3_hex],
[{project_plugins,default}]],
[[caller|command_line],
[base_dir,47,85,115,101,114,
115,47,97,108,101,120,47,68,
101,115,107,116,111,112,47,
116,101,115,116,47,100,101,
112,115,47,102,115,47,95,98,
117,105,108,100],
[deps_dir,108,105,98]],
[[port_specs,
{"darwin",
"priv/mac_listener",
["c_src/mac/*.c"]},
{"freebsd","priv/kqueue",
["c_src/bsd/*.c"]}],
[plugins,pc,rebar3_hex],
[provider_hooks,
{pre,
[{compile,{pc,compile}},
{clean,{pc,clean}}]}],
[defines],
[profiles,
{test,
[{erl_opts,[{d,'TEST'}]},
{extra_src_dirs,
["test"]}]}],
[overrides]],
[],
[[vsn_cache|
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[]},
{{[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[],
[]}}}],
[force,48]],
[[port_env,
{"darwin","LDFLAGS",
"-framework CoreFoundation -framework CoreServices"},
{"darwin","CC","clang"},
{"darwin","CFLAGS",
"-Wno-deprecated-declarations"},
{"freebsd","LDFLAGS",[]},
{"freebsd","CC","cc"},
{"freebsd","CFLAGS",[]}]],
[],[],[],[],
[[task,104,101,108,112]],
[],[],[],[]}}},
"/Users/alex/.mix/rebar3",[],
[default],
bare,
["--paths",
"/Users/alex/Desktop/test/_build/dev/lib/*/ebin"],
{[{paths,
"/Users/alex/Desktop/test/_build/dev/lib/*/ebin"}],
[]},
{app_info_t,<<"fs">>,
"/Users/alex/Desktop/test/deps/fs/src/fs.app.src",
undefined,undefined,"2.12.0",
root,
[{description,"FS VXZ Listener"},
{vsn,"2.12.0"},
{registered,[]},
{applications,[kernel,stdlib]},
{mod,{fs_app,[]}},
{env,
[{backwards_compatible,true}]},
{maintainers,
["Maxim Sokhatsky",
"Vladimir Kirillov"]},
{licenses,["ISCL"]},
{links,
[{"Github",
"https://github.com/synrc/fs"}]}],
[kernel,stdlib],
[],
[default],
{dict,19,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{deps,default}],
[{plugins,default},
pc,rebar3_hex],
[{project_plugins,default}]],
[[caller|command_line],
[base_dir,47,85,115,101,114,
115,47,97,108,101,120,47,68,
101,115,107,116,111,112,47,
116,101,115,116,47,100,101,
112,115,47,102,115,47,95,98,
117,105,108,100],
[deps_dir,108,105,98]],
[[port_specs,
{"darwin",
"priv/mac_listener",
["c_src/mac/*.c"]},
{"freebsd","priv/kqueue",
["c_src/bsd/*.c"]}],
[plugins,pc,rebar3_hex],
[provider_hooks,
{pre,
[{compile,{pc,compile}},
{clean,{pc,clean}}]}],
[defines],
[profiles,
{test,
[{erl_opts,[{d,'TEST'}]},
{extra_src_dirs,
["test"]}]}],
[overrides],
[post_hooks],
[pre_hooks],
[artifacts]],
[],
[[vsn_cache|
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[],[]},
{{[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[],
[]}}}],
[force,48]],
[[port_env,
{"darwin","LDFLAGS",
"-framework CoreFoundation -framework CoreServices"},
{"darwin","CC","clang"},
{"darwin","CFLAGS",
"-Wno-deprecated-declarations"},
{"freebsd","LDFLAGS",[]},
{"freebsd","CC","cc"},
{"freebsd","CFLAGS",[]}]],
[],[],[],[],
[[task,104,101,108,112]],
[],[],[],[]}}},
{dict,19,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{deps,default}],
[{plugins,default},
pc,rebar3_hex],
[{project_plugins,default}]],
[[caller|command_line],
[base_dir,47,85,115,101,114,
115,47,97,108,101,120,47,68,
101,115,107,116,111,112,47,
116,101,115,116,47,100,101,
112,115,47,102,115,47,95,98,
117,105,108,100],
[deps_dir,108,105,98]],
[[port_specs,
{"darwin",
"priv/mac_listener",
["c_src/mac/*.c"]},
{"freebsd","priv/kqueue",
["c_src/bsd/*.c"]}],
[plugins,pc,rebar3_hex],
[provider_hooks,
{pre,
[{compile,{pc,compile}},
{clean,{pc,clean}}]}],
[defines],
[profiles,
{test,
[{erl_opts,[{d,'TEST'}]},
{extra_src_dirs,
["test"]}]}],
[overrides],
[post_hooks],
[pre_hooks],
[artifacts]],
[],
[[vsn_cache|
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[],[]},
{{[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[],
[]}}}],
[force,48]],
[[port_env,
{"darwin","LDFLAGS",
"-framework CoreFoundation -framework CoreServices"},
{"darwin","CC","clang"},
{"darwin","CFLAGS",
"-Wno-deprecated-declarations"},
{"freebsd","LDFLAGS",[]},
{"freebsd","CC","cc"},
{"freebsd","CFLAGS",[]}]],
[],[],[],[],
[[task,104,101,108,112]],
[],[],[],[]}}},
0,
"/Users/alex/Desktop/test/deps/fs",
"/Users/alex/Desktop/test/deps/fs",
undefined,undefined,false,false,
false},
[{app_info_t,<<"fs">>,
"/Users/alex/Desktop/test/deps/fs/src/fs.app.src",
undefined,undefined,"2.12.0",
root,
[{description,"FS VXZ Listener"},
{vsn,"2.12.0"},
{registered,[]},
{applications,[kernel,stdlib]},
{mod,{fs_app,[]}},
{env,
[{backwards_compatible,true}]},
{maintainers,
["Maxim Sokhatsky",
"Vladimir Kirillov"]},
{licenses,["ISCL"]},
{links,
[{"Github",
"https://github.com/synrc/fs"}]}],
[kernel,stdlib],
[],
[default],
{dict,19,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{deps,default}],
[{plugins,default},
pc,rebar3_hex],
[{project_plugins,default}]],
[[caller|command_line],
[base_dir,47,85,115,101,114,
115,47,97,108,101,120,47,
68,101,115,107,116,111,112,
47,116,101,115,116,47,100,
101,112,115,47,102,115,47,
95,98,117,105,108,100],
[deps_dir,108,105,98]],
[[port_specs,
{"darwin",
"priv/mac_listener",
["c_src/mac/*.c"]},
{"freebsd","priv/kqueue",
["c_src/bsd/*.c"]}],
[plugins,pc,rebar3_hex],
[provider_hooks,
{pre,
[{compile,{pc,compile}},
{clean,{pc,clean}}]}],
[defines],
[profiles,
{test,
[{erl_opts,[{d,'TEST'}]},
{extra_src_dirs,
["test"]}]}],
[overrides],
[post_hooks],
[pre_hooks],
[artifacts]],
[],
[[vsn_cache|
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[],[]},
{{[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[],
[]}}}],
[force,48]],
[[port_env,
{"darwin","LDFLAGS",
"-framework CoreFoundation -framework CoreServices"},
{"darwin","CC","clang"},
{"darwin","CFLAGS",
"-Wno-deprecated-declarations"},
{"freebsd","LDFLAGS",[]},
{"freebsd","CC","cc"},
{"freebsd","CFLAGS",[]}]],
[],[],[],[],
[[task,104,101,108,112]],
[],[],[],[]}}},
{dict,19,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{deps,default}],
[{plugins,default},
pc,rebar3_hex],
[{project_plugins,default}]],
[[caller|command_line],
[base_dir,47,85,115,101,114,
115,47,97,108,101,120,47,
68,101,115,107,116,111,112,
47,116,101,115,116,47,100,
101,112,115,47,102,115,47,
95,98,117,105,108,100],
[deps_dir,108,105,98]],
[[port_specs,
{"darwin",
"priv/mac_listener",
["c_src/mac/*.c"]},
{"freebsd","priv/kqueue",
["c_src/bsd/*.c"]}],
[plugins,pc,rebar3_hex],
[provider_hooks,
{pre,
[{compile,{pc,compile}},
{clean,{pc,clean}}]}],
[defines],
[profiles,
{test,
[{erl_opts,[{d,'TEST'}]},
{extra_src_dirs,
["test"]}]}],
[overrides],
[post_hooks],
[pre_hooks],
[artifacts]],
[],
[[vsn_cache|
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[],[]},
{{[],[],[],[],[],[],[],[],
[],[],[],[],[],[],[],
[]}}}],
[force,48]],
[[port_env,
{"darwin","LDFLAGS",
"-framework CoreFoundation -framework CoreServices"},
{"darwin","CC","clang"},
{"darwin","CFLAGS",
"-Wno-deprecated-declarations"},
{"freebsd","LDFLAGS",[]},
{"freebsd","CC","cc"},
{"freebsd","CFLAGS",[]}]],
[],[],[],[],
[[task,104,101,108,112]],
[],[],[],[]}}},
0,
"/Users/alex/Desktop/test/deps/fs",
"/Users/alex/Desktop/test/deps/fs/_build/default/lib/fs",
undefined,undefined,false,false,
false}],
[],
[{app_info_t,<<"pc">>,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc.app.src",
undefined,undefined,"1.4.0",
root,
[{description,
"a rebar3 port compiler for native code"},
{vsn,"1.4.0"},
{registered,[]},
{applications,[kernel,stdlib]},
{env,[]},
{modules,[]},
{maintainers,
["Brian L. Troutwine",
"Tristan Sloughter"]},
{licenses,["MIT"]},
{links,
[{"Github",
"https://github.com/blt/port_compiler"}]}],
[kernel,stdlib],
[],
[default,prod],
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info,
inline_list_funcs,
warn_deprecated_function,
warn_export_all,
warn_export_vars,
warn_obsolete_guard,
warn_shadow_vars,
warn_untyped_record,
warn_unused_function,
warn_unused_import,
warnings_as_errors],
[xref_checks,
undefined_function_calls,
undefined_functions,
locals_not_used,
deprecated_function_calls,
deprecated_functions],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info,
inline_list_funcs,
warn_deprecated_function,
warn_export_all,
warn_export_vars,
warn_obsolete_guard,
warn_shadow_vars,
warn_untyped_record,
warn_unused_function,
warn_unused_import,
warnings_as_errors],
[xref_checks,
undefined_function_calls,
undefined_functions,
locals_not_used,
deprecated_function_calls,
deprecated_functions],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
0,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc",
pkg,
{pkg,<<"pc">>,<<"1.4.0">>},
false,false,false},
{app_info_t,<<"rebar3_hex">>,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex.app.src",
undefined,undefined,"3.0.0",
root,
[{description,
"Hex.pm plugin for rebar3"},
{vsn,"3.0.0"},
{applications,[kernel,stdlib]},
{maintainers,
["Tristan Sloughter"]},
{licenses,["MIT"]},
{links,
[{"Github",
"https://github.com/tsloughter/rebar3_hex"}]}],
[kernel,stdlib],
[],
[default,prod],
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info],
[deps],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info],
[deps],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
0,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex",
pkg,
{pkg,<<"rebar3_hex">>,
<<"3.0.0">>},
false,false,false},
{app_info_t,<<"pc">>,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc.app.src",
undefined,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/ebin/pc.app",
"1.4.0",root,
[{description,
"a rebar3 port compiler for native code"},
{vsn,"1.4.0"},
{registered,[]},
{applications,[kernel,stdlib]},
{env,[]},
{modules,
[pc,pc_compilation,
pc_port_env,pc_port_specs,
pc_prv_clean,pc_prv_compile,
pc_util]},
{maintainers,
["Brian L. Troutwine",
"Tristan Sloughter"]},
{licenses,["MIT"]},
{links,
[{"Github",
"https://github.com/blt/port_compiler"}]}],
[kernel,stdlib],
[],
[default,prod],
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info,
inline_list_funcs,
warn_deprecated_function,
warn_export_all,
warn_export_vars,
warn_obsolete_guard,
warn_shadow_vars,
warn_untyped_record,
warn_unused_function,
warn_unused_import,
warnings_as_errors],
[xref_checks,
deprecated_function_calls,
deprecated_functions,
locals_not_used,
undefined_function_calls,
undefined_functions],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info,
inline_list_funcs,
warn_deprecated_function,
warn_export_all,
warn_export_vars,
warn_obsolete_guard,
warn_shadow_vars,
warn_untyped_record,
warn_unused_function,
warn_unused_import,
warnings_as_errors],
[xref_checks,
deprecated_function_calls,
deprecated_functions,
locals_not_used,
undefined_function_calls,
undefined_functions],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
0,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc",
pkg,
{pkg,<<"pc">>,<<"1.4.0">>},
false,false,true},
{app_info_t,<<"rebar3_hex">>,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex.app.src",
undefined,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/ebin/rebar3_hex.app",
"3.0.0",root,
[{registered,[]},
{description,
"Hex.pm plugin for rebar3"},
{vsn,"3.0.0"},
{applications,[kernel,stdlib]},
{maintainers,
["Tristan Sloughter"]},
{licenses,["MIT"]},
{links,
[{"Github",
"https://github.com/tsloughter/rebar3_hex"}]},
{modules,
[rebar3_hex,rebar3_hex_config,
rebar3_hex_cut,
rebar3_hex_docs,
rebar3_hex_http,
rebar3_hex_info,
rebar3_hex_key,
rebar3_hex_owner,
rebar3_hex_pkg,
rebar3_hex_search,
rebar3_hex_tar,
rebar3_hex_user,
rebar3_hex_utils]}],
[kernel,stdlib],
[],
[default,prod],
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info],
[deps],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info],
[deps],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
0,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex",
pkg,
{pkg,<<"rebar3_hex">>,
<<"3.0.0">>},
false,false,true},
{app_info_t,<<"pc">>,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc.app.src",
undefined,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/ebin/pc.app",
"1.4.0",root,
[{description,
"a rebar3 port compiler for native code"},
{vsn,"1.4.0"},
{registered,[]},
{applications,[kernel,stdlib]},
{env,[]},
{modules,
[pc,pc_compilation,
pc_port_env,pc_port_specs,
pc_prv_clean,pc_prv_compile,
pc_util]},
{maintainers,
["Brian L. Troutwine",
"Tristan Sloughter"]},
{licenses,["MIT"]},
{links,
[{"Github",
"https://github.com/blt/port_compiler"}]}],
[kernel,stdlib],
[],
[default,prod],
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info,
inline_list_funcs,
warn_deprecated_function,
warn_export_all,
warn_export_vars,
warn_obsolete_guard,
warn_shadow_vars,
warn_untyped_record,
warn_unused_function,
warn_unused_import,
warnings_as_errors],
[xref_checks,
deprecated_function_calls,
deprecated_functions,
locals_not_used,
undefined_function_calls,
undefined_functions],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info,
inline_list_funcs,
warn_deprecated_function,
warn_export_all,
warn_export_vars,
warn_obsolete_guard,
warn_shadow_vars,
warn_untyped_record,
warn_unused_function,
warn_unused_import,
warnings_as_errors],
[xref_checks,
deprecated_function_calls,
deprecated_functions,
locals_not_used,
undefined_function_calls,
undefined_functions],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
0,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc",
pkg,
{pkg,<<"pc">>,<<"1.4.0">>},
false,false,true},
{app_info_t,<<"rebar3_hex">>,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/src/rebar3_hex.app.src",
undefined,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex/ebin/rebar3_hex.app",
"3.0.0",root,
[{registered,[]},
{description,
"Hex.pm plugin for rebar3"},
{vsn,"3.0.0"},
{applications,[kernel,stdlib]},
{maintainers,
["Tristan Sloughter"]},
{licenses,["MIT"]},
{links,
[{"Github",
"https://github.com/tsloughter/rebar3_hex"}]},
{modules,
[rebar3_hex,rebar3_hex_config,
rebar3_hex_cut,
rebar3_hex_docs,
rebar3_hex_http,
rebar3_hex_info,
rebar3_hex_key,
rebar3_hex_owner,
rebar3_hex_pkg,
rebar3_hex_search,
rebar3_hex_tar,
rebar3_hex_user,
rebar3_hex_utils]}],
[kernel,stdlib],
[],
[default,prod],
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info],
[deps],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
{dict,6,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],
[],[],[],[],[],[]},
{{[],
[[{locks,default}],
[{deps,default}],
[{plugins,default}]],
[],
[[erl_opts,debug_info],
[deps],
[overrides]],
[],[],[],[],[],[],[],[],[],
[],[],[]}}},
0,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex",
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/rebar3_hex",
pkg,
{pkg,<<"rebar3_hex">>,
<<"3.0.0">>},
false,false,true}],
[],
[{git,rebar_git_resource},
{pkg,rebar_pkg_resource},
{hg,rebar_hg_resource}],
[{provider,publish,
rebar3_hex_pkg,
{[],[]},
true,
[{default,lock}],
[],
"Publish a new version of your package and update the package",
"rebar3 hex publish",
[{revert,undefined,"revert",
string,
"Revert given version."}],
[default],
hex},
{provider,search,
rebar3_hex_search,
{[],[]},
true,[],[],
"Display packages matching the given search query",
"rebar3 hex search <term>",
[{term,undefined,undefined,
string,"Search term."}],
[default],
hex},
{provider,docs,rebar3_hex_docs,
{[],[]},
true,
[{default,edoc}],
[],
"Publish documentation for the current project and version",
"rebar3 hex docs",
[{revert,undefined,"revert",
string,
"Revert given version."}],
[default],
hex},
{provider,owner,
rebar3_hex_owner,
{[],[]},
true,[],[],
"Add, remove or list package owners",
"rebar3 hex owner",[],
[default],
hex},
{provider,info,rebar3_hex_info,
{[],[]},
true,[],[],
"Prints hex package or system information",
"rebar3 hex user <command>",[],
[default],
hex},
{provider,key,rebar3_hex_key,
{[],[]},
true,[],[],
"Remove or list API keys associated with your account",
"rebar3 hex key [list | remove <key>]",
[],
[default],
hex},
{provider,config,
rebar3_hex_config,
{[],[]},
true,[],[],
"Read or update hex configuration file",
"rebar3 hex config <key> [<value>]",
[],
[default],
hex},
{provider,cut,rebar3_hex_cut,
{[],[]},
true,
[{default,lock}],
[],
"Increment version number and publish package",
"rebar3 hex cut",
[{increment,105,"increment",
string,
"Type of semver increment: major, minor or patch"}],
[default],
hex},
{provider,user,rebar3_hex_user,
{[],[]},
true,[],[],"Hex user tasks",
"rebar3 hex user <command>",[],
[default],
hex},
{provider,clean,pc_prv_clean,
{[],[]},
true,
[{default,app_discovery}],
[],
"clean the results of port compilation",
"rebar pc clean",[],
[default],
pc},
{provider,compile,
pc_prv_compile,
{[],[]},
true,
[{default,compile}],
[],"perform port compilation",
"rebar pc compile",[],
[default],
pc},
{provider,xref,rebar_prv_xref,
{[],[]},
true,
[compile],
["Run cross reference analysis.",
"\n","\n",86,97,108,105,100,32,
114,101,98,97,114,46,99,111,
110,102,105,103,32,111,112,116,
105,111,110,115,58,"\n",32,32,
[123,
["xref_warnings",44,"false"],
125],
"\n",32,32,
[123,
["xref_extra_paths",44,"[]"],
125],
"\n",32,32,
[123,
["xref_checks",44,
[91,
["undefined_function_calls",
44,"undefined_functions",
44,"locals_not_used",44,10,
[32,
[32,
[" ",32,32,32],
" ",32,32,32],
32,32],
"exports_not_used",44,
"deprecated_function_calls",
44,10,
[32,
[32,
[" ",32,32,32],
" ",32,32,32],
32,32],
"deprecated_functions"],
93]],
125],
"\n",32,32,
[123,
["xref_queries",44,
[91,
[[123,
["\"(xc - uc) || (xu - x - b - (\\\"mod\\\":\\\".*foo\\\"/\\\"4\\\"))\"",
44,10,
[32,32,
[[32," ",32,32,32],
32," ",32,32,32],
32,32],
"[]"],
125]],
93]],
125],
"\n"],
"Run cross reference analysis.",
"rebar3 xref",[],
[default],
default},
{provider,version,
rebar_prv_version,
{[],[]},
true,[],
"Print version for rebar and current Erlang.",
"Print version for rebar and current Erlang.",
"rebar3 version",[],
[default],
default},
{provider,upgrade,
rebar_prv_upgrade,
{[],[]},
true,
[lock],
"Upgrade project dependecies. Mentioning no application will upgrade all dependencies. To upgrade specific dependencies, their names can be listed in the command.",
"Upgrade dependencies.",
"rebar3 upgrade [cowboy[,ranch]]",
[{package,undefined,undefined,
string,
"List of packages to upgrade. If not specified, all dependencies are upgraded."}],
[default],
default},
{provider,update,
rebar_prv_update,
{[],[]},
true,[],"Update package index.",
"Update package index.",
"rebar3 update",[],
[default],
default},
{provider,unlock,
rebar_prv_unlock,
{[],[]},
true,[],
"Unlock project dependencies. Mentioning no application will unlock all dependencies. To unlock specific dependencies, their name can be listed in the command.",
"Unlock dependencies.",[],
[{package,undefined,undefined,
string,
"List of packages to unlock. If not specified, all dependencies are unlocked."}],
[default],
default},
{provider,tar,rebar_prv_tar,
{[],[]},
true,
[release],
"Tar archive of release built of project.",
"Tar archive of release built of project.",
"rebar3 tar",
[{relname,110,"relname",string,
"Specify the name for the release that will be generated"},
{relvsn,118,"relvsn",string,
"Specify the version for the release"},
{goal,103,"goal",string,
"Specify a target constraint on the system. These are usually the OTP"},
{upfrom,117,"upfrom",string,
"Only valid with relup target, specify the release to upgrade from"},
{output_dir,111,"output-dir",
string,
"The output directory for the release. This is `./` by default."},
{help,104,"help",undefined,
"Print usage"},
{lib_dir,108,"lib-dir",string,
"Additional dir that should be searched for OTP Apps"},
{path,112,"path",string,
"Additional dir to add to the code path"},
{default_libs,undefined,
"default-libs",boolean,
"Whether to use the default system added lib dirs (means you must add them all manually). Default is true"},
{log_level,86,"verbose",
{integer,2},
"Verbosity level, maybe between 0 and 3"},
{dev_mode,100,"dev-mode",
boolean,
"Symlink the applications and configuration into the release instead of copying"},
{include_erts,105,
"include-erts",string,
"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,97,"override",
string,
"Provide an app name and a directory to override in the form <appname>:<app directory>"},
{config,99,"config",
{string,[]},
"The path to a config file"},
{overlay_vars,undefined,
"overlay_vars",string,
"Path to a file of overlay variables"},
{vm_args,undefined,"vm_args",
string,
"Path to a file to use for vm.args"},
{sys_config,undefined,
"sys_config",string,
"Path to a file to use for sys.config"},
{system_libs,undefined,
"system_libs",string,
"Path to dir of Erlang system libs"},
{version,undefined,"version",
undefined,
"Print relx version"},
{root_dir,114,"root",string,
"The project root directory"}],
[default],
default},
{provider,state,rebar_prv_state,
{[],[]},
false,[],
"Display rebar configuration for debugging purpose",
"Print current configuration state",
"rebar3 state",[],
[default],
default},
{provider,shell,rebar_prv_shell,
{[],[]},
true,
[compile],
"Start a shell with project and deps preloaded similar to~n'erl -pa ebin -pa deps/*/ebin'.~n",
"Run shell with project apps and deps in path.",
"rebar3 shell",
[{config,undefined,"config",
string,
"Path to the config file to use. Defaults to {shell, [{config, File}]} and then the relx sys.config file if not specified."},
{name,undefined,"name",atom,
"Gives a long name to the node."},
{sname,undefined,"sname",atom,
"Gives a short name to the node."},
{setcookie,undefined,
"setcookie",atom,
"Sets the cookie if the node is distributed."},
{script_file,undefined,
"script",string,
"Path to an escript file to run before starting the project apps. Defaults to rebar.config {shell, [{script_file, File}]} if not specified."},
{apps,undefined,"apps",string,
"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."}],
[default],
default},
{provider,report,
rebar_prv_report,
{[],[]},
true,[],
"Provide a crash report to be sent to the rebar3 issues page.",
"Provide a crash report to be sent to the rebar3 issues page.",
"rebar3 report \"<task>\"",
[{task,undefined,undefined,
string,
"Task to print details for."}],
[default],
default},
{provider,relup,rebar_prv_relup,
{[],[]},
true,
[release],
"Create relup of releases.",
"Create relup of releases.",
"rebar3 relup",
[{relname,110,"relname",string,
"Specify the name for the release that will be generated"},
{relvsn,118,"relvsn",string,
"Specify the version for the release"},
{goal,103,"goal",string,
"Specify a target constraint on the system. These are usually the OTP"},
{upfrom,117,"upfrom",string,
"Only valid with relup target, specify the release to upgrade from"},
{output_dir,111,"output-dir",
string,
"The output directory for the release. This is `./` by default."},
{help,104,"help",undefined,
"Print usage"},
{lib_dir,108,"lib-dir",string,
"Additional dir that should be searched for OTP Apps"},
{path,112,"path",string,
"Additional dir to add to the code path"},
{default_libs,undefined,
"default-libs",boolean,
"Whether to use the default system added lib dirs (means you must add them all manually). Default is true"},
{log_level,86,"verbose",
{integer,2},
"Verbosity level, maybe between 0 and 3"},
{dev_mode,100,"dev-mode",
boolean,
"Symlink the applications and configuration into the release instead of copying"},
{include_erts,105,
"include-erts",string,
"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,97,"override",
string,
"Provide an app name and a directory to override in the form <appname>:<app directory>"},
{config,99,"config",
{string,[]},
"The path to a config file"},
{overlay_vars,undefined,
"overlay_vars",string,
"Path to a file of overlay variables"},
{vm_args,undefined,"vm_args",
string,
"Path to a file to use for vm.args"},
{sys_config,undefined,
"sys_config",string,
"Path to a file to use for sys.config"},
{system_libs,undefined,
"system_libs",string,
"Path to dir of Erlang system libs"},
{version,undefined,"version",
undefined,
"Print relx version"},
{root_dir,114,"root",string,
"The project root directory"}],
[default],
default},
{provider,release,
rebar_prv_release,
{[],[]},
true,
[compile],
"Build release of project.",
"Build release of project.",
"rebar3 release",
[{relname,110,"relname",string,
"Specify the name for the release that will be generated"},
{relvsn,118,"relvsn",string,
"Specify the version for the release"},
{goal,103,"goal",string,
"Specify a target constraint on the system. These are usually the OTP"},
{upfrom,117,"upfrom",string,
"Only valid with relup target, specify the release to upgrade from"},
{output_dir,111,"output-dir",
string,
"The output directory for the release. This is `./` by default."},
{help,104,"help",undefined,
"Print usage"},
{lib_dir,108,"lib-dir",string,
"Additional dir that should be searched for OTP Apps"},
{path,112,"path",string,
"Additional dir to add to the code path"},
{default_libs,undefined,
"default-libs",boolean,
"Whether to use the default system added lib dirs (means you must add them all manually). Default is true"},
{log_level,86,"verbose",
{integer,2},
"Verbosity level, maybe between 0 and 3"},
{dev_mode,100,"dev-mode",
boolean,
"Symlink the applications and configuration into the release instead of copying"},
{include_erts,105,
"include-erts",string,
"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,97,"override",
string,
"Provide an app name and a directory to override in the form <appname>:<app directory>"},
{config,99,"config",
{string,[]},
"The path to a config file"},
{overlay_vars,undefined,
"overlay_vars",string,
"Path to a file of overlay variables"},
{vm_args,undefined,"vm_args",
string,
"Path to a file to use for vm.args"},
{sys_config,undefined,
"sys_config",string,
"Path to a file to use for sys.config"},
{system_libs,undefined,
"system_libs",string,
"Path to dir of Erlang system libs"},
{version,undefined,"version",
undefined,
"Print relx version"},
{root_dir,114,"root",string,
"The project root directory"}],
[default],
default},
{provider,upgrade,
rebar_prv_plugins_upgrade,
{[],[]},
true,[],
"List or upgrade plugins",
"Upgrade plugins",
"rebar3 plugins upgrade <plugin>",
[{plugin,undefined,undefined,
string,"Plugin to upgrade"}],
[default],
plugins},
{provider,list,
rebar_prv_plugins,
{[],[]},
true,[],
"List local and global plugins for this project",
"List local and global plugins for this project",
"rebar3 plugins list",[],
[default],
plugins},
{provider,path,rebar_prv_path,
{[],[]},
true,
[app_discovery],
"Print paths to build dirs in current profile.",
"Print paths to build dirs in current profile.",
"rebar3 path",
[{app,undefined,"app",string,
"Comma seperated list of applications to return paths for."},
{base,undefined,"base",
boolean,
"Return the `base' path of the current profile."},
{bin,undefined,"bin",boolean,
"Return the `bin' path of the current profile."},
{ebin,undefined,"ebin",
boolean,
"Return all `ebin' paths of the current profile's applications."},
{lib,undefined,"lib",boolean,
"Return the `lib' path of the current profile."},
{priv,undefined,"priv",
boolean,
"Return the `priv' path of the current profile's applications."},
{separator,115,"separator",
string,
"In case of multiple return paths, the separator character to use to join them."},
{src,undefined,"src",boolean,
"Return the `src' path of the current profile's applications."},
{rel,undefined,"rel",boolean,
"Return the `rel' path of the current profile."}],
[default],
default},
{provider,pkgs,
rebar_prv_packages,
{[],[]},
true,[],
["List available packages",46,
"\n"],
"List available packages.",
"rebar3 pkgs",[],
[default],
default},
{provider,new,rebar_prv_new,
{[],[]},
true,[],
[67,114,101,97,116,101,32,114,
101,98,97,114,51,32,112,114,
111,106,101,99,116,32,98,97,
115,101,100,32,111,110,32,116,
101,109,112,108,97,116,101,32,
97,110,100,32,118,97,114,115,
46,"\n","\n",86,97,108,105,100,
32,99,111,109,109,97,110,100,
32,108,105,110,101,32,111,112,
116,105,111,110,115,58,"\n",32,
32,60,116,101,109,112,108,97,
116,101,62,32,91,118,97,114,61,
102,111,111,44,46,46,46,93,
"\n"],
"Create new project from templates.",
"rebar3 new <template>",
[{force,102,"force",undefined,
"overwrite existing files"}],
[default],
default},
{provider,lock,rebar_prv_lock,
{[],[]},
false,
[install_deps],
"Locks dependencies",
"Locks dependencies.",[],[],
[default],
default},
{provider,upgrade,
rebar_prv_local_upgrade,
{[],[]},
true,[],[],
"Download latest rebar3 escript and extract.",
"rebar3 unstable upgrade",[],
[default],
local},
{provider,install,
rebar_prv_local_install,
{[],[]},
true,[],[],
"Extract libs from rebar3 escript along with a run script.",
"rebar3 unstable install",[],
[default],
local},
{provider,install_deps,
rebar_prv_install_deps,
{[],[]},
false,
[app_discovery],
[],[],undefined,[],
[default],
default},
{provider,help,rebar_prv_help,
{[],[]},
true,[],
"Display a list of tasks or help for a given task or subtask.",
"Display a list of tasks or help for a given task or subtask.",
"rebar3 help <task>",
[{help_task,undefined,
undefined,string,
"Task to print help for."}],
[default],
default},
{provider,eunit,rebar_prv_eunit,
{[],[]},
true,
[lock],
"Run EUnit Tests.",
"Run EUnit Tests.",
"rebar3 eunit",
[{app,undefined,"app",string,
"Comma separated list of application test suites to run. Equivalent to `[{application, App}]`."},
{application,undefined,
"application",string,
"Comma separated list of application test suites to run. Equivalent to `[{application, App}]`."},
{cover,99,"cover",boolean,
"Generate cover data. Defaults to false."},
{dir,100,"dir",string,
"Comma separated list of dirs to load tests from. Equivalent to `[{dir, Dir}]`."},
{file,102,"file",string,
"Comma separated list of files to load tests from. Equivalent to `[{file, File}]`."},
{module,109,"module",string,
"Comma separated list of modules to load tests from. Equivalent to `[{module, Module}]`."},
{suite,115,"suite",string,
"Comma separated list of modules to load tests from. Equivalent to `[{module, Module}]`."},
{verbose,118,"verbose",
boolean,
"Verbose output. Defaults to false."}],
[test],
default},
{provider,escriptize,
rebar_prv_escriptize,
{[],[]},
true,
[compile],
"Generate an escript executable containing the project's and its dependencies' BEAM files.",
"Generate escript archive.",
"rebar3 escriptize",[],
[default],
default},
{provider,edoc,rebar_prv_edoc,
{[],[]},
true,
[compile],
"Generate documentation using edoc.",
"Generate documentation using edoc.",
"rebar3 edoc",[],
[docs],
default},
{provider,do,rebar_prv_do,
{[],[]},
true,[],
"Higher order provider for running multiple tasks in a sequence.",
"Higher order provider for running multiple tasks in a sequence.",
"rebar3 do <task1>, <task2>, ...",
[],
[default],
default},
{provider,dialyzer,
rebar_prv_dialyzer,
{[],[]},
true,
[compile],
"Run the Dialyzer analyzer on the project.\n\nThis command will build, and keep up-to-date, a suitable PLT and will use it to carry out success typing analysis on the current project.\n\nThe following (optional) configurations can be added to a `proplist` of options `dialyzer` in rebar.config:\n`warnings` - a list of dialyzer warnings\n`get_warnings` - display warnings when altering a PLT file (boolean)\n`plt_apps` - the strategy for determining the applications which included in the PLT file, `top_level_deps` to include just the direct dependencies or `all_deps` to include all nested dependencies*\n`plt_extra_apps` - a list of applications to include in the PLT file**\n`plt_location` - the location of the PLT file, `local` to store in the profile's base directory (default) or a custom directory.\n`plt_prefix` - the prefix to the PLT file, defaults to \"rebar3\"***\n`base_plt_apps` - a list of applications to include in the base PLT file****\n`base_plt_location` - the location of base PLT file, `global` to store in $HOME/.cache/rebar3 (default) or a custom directory****\n`base_plt_prefix` - the prefix to the base PLT file, defaults to \"rebar3\"*** ****\n\nFor example, to warn on unmatched returns: \n{dialyzer, [{warnings, [unmatched_returns]}]}.\n\n*The direct dependent applications are listed in `applications` and `included_applications` of their .app files.\n**The applications in `base_plt_apps` will be added to the list. \n***PLT files are named \"<prefix>_<otp_release>_plt\".\n****The base PLT is a PLT containing the core applications often required for a project's PLT. One base PLT is created per OTP version and stored in `base_plt_location`. A base PLT is used to build project PLTs.\n",
"Run the Dialyzer analyzer on the project.",
"rebar3 dialyzer",
[{update_plt,117,"update-plt",
boolean,
"Enable updating the PLT. Default: true"},
{succ_typings,115,
"succ-typings",boolean,
"Enable success typing analysis. Default: true"}],
[default],
default},
{provider,tree,
rebar_prv_deps_tree,
{[],[]},
true,
[lock],
[],"Print dependency tree.",
"rebar3 tree",
[{verbose,118,"verbose",
undefined,
"Print repo and branch/tag/ref for git and hg deps"}],
[default],
default},
{provider,deps,rebar_prv_deps,
{[],[]},
true,
[app_discovery],
"List dependencies. Those not matching lock files are followed by an asterisk (*).",
"List dependencies",
"rebar3 deps",[],
[default],
default},
{provider,cover,rebar_prv_cover,
{[],[]},
true,
[app_discovery],
"Perform coverage analysis.",
"Perform coverage analysis.",
"rebar3 cover",
[{reset,114,"reset",boolean,
"Reset all coverdata."},
{verbose,118,"verbose",
boolean,
"Print coverage analysis."}],
[test],
default},
{provider,compile,
rebar_prv_compile,
{[],[]},
true,
[lock],
"Compile apps .app.src and .erl files.",
"Compile apps .app.src and .erl files.",
"rebar3 compile",[],
[default],
default},
{provider,ct,
rebar_prv_common_test,
{[],[]},
true,
[lock],
"Run Common Tests.",
"Run Common Tests.","rebar3 ct",
[{dir,undefined,"dir",string,
"List of additional directories containing test suites"},
{suite,undefined,"suite",
string,
"List of test suites to run"},
{group,undefined,"group",
string,
"List of test groups to run"},
{testcase,undefined,"case",
string,
"List of test cases to run"},
{label,undefined,"label",
string,"Test label"},
{config,undefined,"config",
string,"List of config files"},
{allow_user_terms,undefined,
"allow_user_terms",boolean,
"Allow user defined config values in config files"},
{logdir,undefined,"logdir",
string,"Log folder"},
{logopts,undefined,"logopts",
string,
"Options for common test logging"},
{verbosity,undefined,
"verbosity",integer,
"Verbosity"},
{cover,99,"cover",
{boolean,false},
"Generate cover data"},
{repeat,undefined,"repeat",
integer,
"How often to repeat tests"},
{duration,undefined,
"duration",string,
"Max runtime (format: HHMMSS)"},
{until,undefined,"until",
string,
"Run until (format: HHMMSS)"},
{force_stop,undefined,
"force_stop",string,
"Force stop on test timeout (true | false | skip_rest)"},
{basic_html,undefined,
"basic_html",boolean,
"Show basic HTML"},
{stylesheet,undefined,
"stylesheet",string,
"CSS stylesheet to apply to html output"},
{decrypt_key,undefined,
"decrypt_key",string,
"Path to key for decrypting config"},
{decrypt_file,undefined,
"decrypt_file",string,
"Path to file containing key for decrypting config"},
{abort_if_missing_suites,
undefined,
"abort_if_missing_suites",
{boolean,true},
"Abort if suites are missing"},
{multiply_timetraps,undefined,
"multiply_timetraps",integer,
[]},
{scale_timetraps,undefined,
"scale_timetraps",boolean,
"Scale timetraps"},
{create_priv_dir,undefined,
"create_priv_dir",string,
"Create priv dir (auto_per_run | auto_per_tc | manual_per_tc)"},
{include,undefined,"include",
string,
"Directories containing additional include files"},
{readable,undefined,
"readable",boolean,
"Shows test case names and only displays logs to shell on failures"},
{verbose,118,"verbose",
boolean,"Verbose output"}],
[test],
default},
{provider,clean,rebar_prv_clean,
{[],[]},
true,
[app_discovery],
"Remove compiled beam files from apps.",
"Remove compiled beam files from apps.",
"rebar3 clean",
[{all,97,"all",undefined,
"Clean all apps include deps"},
{profile,112,"profile",string,
"Clean under profile. Equivalent to `rebar3 as <profile> clean`"}],
[default],
default},
{provider,compile,
rebar_prv_bare_compile,
{[],[]},
false,
[{default,app_discovery}],
[],[],[],
[{paths,112,"paths",string,
"Wildcard path of ebin directories to add to code path"}],
[default],
bare},
{provider,as,rebar_prv_as,
{[],[]},
true,[],
"Higher order provider for running multiple tasks in a sequence as a certain profiles.",
"Higher order provider for running multiple tasks in a sequence as a certain profiles.",
"rebar3 as <profile1>,<profile2>,... <task1>, <task2>, ...",
[{profile,undefined,undefined,
string,"Profiles to run as."}],
[default],
default},
{provider,app_discovery,
rebar_prv_app_discovery,
{[],[]},
false,[],[],[],[],[],
[default],
default},
{provider,publish,
rebar3_hex_pkg,
{[],[]},
true,
[{default,lock}],
[],
"Publish a new version of your package and update the package",
"rebar3 hex publish",
[{revert,undefined,"revert",
string,
"Revert given version."}],
[default],
hex},
{provider,search,
rebar3_hex_search,
{[],[]},
true,[],[],
"Display packages matching the given search query",
"rebar3 hex search <term>",
[{term,undefined,undefined,
string,"Search term."}],
[default],
hex},
{provider,docs,rebar3_hex_docs,
{[],[]},
true,
[{default,edoc}],
[],
"Publish documentation for the current project and version",
"rebar3 hex docs",
[{revert,undefined,"revert",
string,
"Revert given version."}],
[default],
hex},
{provider,owner,
rebar3_hex_owner,
{[],[]},
true,[],[],
"Add, remove or list package owners",
"rebar3 hex owner",[],
[default],
hex},
{provider,info,rebar3_hex_info,
{[],[]},
true,[],[],
"Prints hex package or system information",
"rebar3 hex user <command>",[],
[default],
hex},
{provider,key,rebar3_hex_key,
{[],[]},
true,[],[],
"Remove or list API keys associated with your account",
"rebar3 hex key [list | remove <key>]",
[],
[default],
hex},
{provider,config,
rebar3_hex_config,
{[],[]},
true,[],[],
"Read or update hex configuration file",
"rebar3 hex config <key> [<value>]",
[],
[default],
hex},
{provider,cut,rebar3_hex_cut,
{[],[]},
true,
[{default,lock}],
[],
"Increment version number and publish package",
"rebar3 hex cut",
[{increment,105,"increment",
string,
"Type of semver increment: major, minor or patch"}],
[default],
hex},
{provider,user,rebar3_hex_user,
{[],[]},
true,[],[],"Hex user tasks",
"rebar3 hex user <command>",[],
[default],
hex},
{provider,clean,pc_prv_clean,
{[],[]},
true,
[{default,app_discovery}],
[],
"clean the results of port compilation",
"rebar pc clean",[],
[default],
pc},
{provider,compile,
pc_prv_compile,
{[],[]},
true,
[{default,compile}],
[],"perform port compilation",
"rebar pc compile",[],
[default],
pc},
{provider,xref,rebar_prv_xref,
{[],[]},
true,
[compile],
["Run cross reference analysis.",
"\n","\n",86,97,108,105,100,32,
114,101,98,97,114,46,99,111,
110,102,105,103,32,111,112,116,
105,111,110,115,58,"\n",32,32,
[123,
["xref_warnings",44,"false"],
125],
"\n",32,32,
[123,
["xref_extra_paths",44,"[]"],
125],
"\n",32,32,
[123,
["xref_checks",44,
[91,
["undefined_function_calls",
44,"undefined_functions",
44,"locals_not_used",44,10,
[32,
[32,
[" ",32,32,32],
" ",32,32,32],
32,32],
"exports_not_used",44,
"deprecated_function_calls",
44,10,
[32,
[32,
[" ",32,32,32],
" ",32,32,32],
32,32],
"deprecated_functions"],
93]],
125],
"\n",32,32,
[123,
["xref_queries",44,
[91,
[[123,
["\"(xc - uc) || (xu - x - b - (\\\"mod\\\":\\\".*foo\\\"/\\\"4\\\"))\"",
44,10,
[32,32,
[[32," ",32,32,32],
32," ",32,32,32],
32,32],
"[]"],
125]],
93]],
125],
"\n"],
"Run cross reference analysis.",
"rebar3 xref",[],
[default],
default},
{provider,version,
rebar_prv_version,
{[],[]},
true,[],
"Print version for rebar and current Erlang.",
"Print version for rebar and current Erlang.",
"rebar3 version",[],
[default],
default},
{provider,upgrade,
rebar_prv_upgrade,
{[],[]},
true,
[lock],
"Upgrade project dependecies. Mentioning no application will upgrade all dependencies. To upgrade specific dependencies, their names can be listed in the command.",
"Upgrade dependencies.",
"rebar3 upgrade [cowboy[,ranch]]",
[{package,undefined,undefined,
string,
"List of packages to upgrade. If not specified, all dependencies are upgraded."}],
[default],
default},
{provider,update,
rebar_prv_update,
{[],[]},
true,[],"Update package index.",
"Update package index.",
"rebar3 update",[],
[default],
default},
{provider,unlock,
rebar_prv_unlock,
{[],[]},
true,[],
"Unlock project dependencies. Mentioning no application will unlock all dependencies. To unlock specific dependencies, their name can be listed in the command.",
"Unlock dependencies.",[],
[{package,undefined,undefined,
string,
"List of packages to unlock. If not specified, all dependencies are unlocked."}],
[default],
default},
{provider,tar,rebar_prv_tar,
{[],[]},
true,
[release],
"Tar archive of release built of project.",
"Tar archive of release built of project.",
"rebar3 tar",
[{relname,110,"relname",string,
"Specify the name for the release that will be generated"},
{relvsn,118,"relvsn",string,
"Specify the version for the release"},
{goal,103,"goal",string,
"Specify a target constraint on the system. These are usually the OTP"},
{upfrom,117,"upfrom",string,
"Only valid with relup target, specify the release to upgrade from"},
{output_dir,111,"output-dir",
string,
"The output directory for the release. This is `./` by default."},
{help,104,"help",undefined,
"Print usage"},
{lib_dir,108,"lib-dir",string,
"Additional dir that should be searched for OTP Apps"},
{path,112,"path",string,
"Additional dir to add to the code path"},
{default_libs,undefined,
"default-libs",boolean,
"Whether to use the default system added lib dirs (means you must add them all manually). Default is true"},
{log_level,86,"verbose",
{integer,2},
"Verbosity level, maybe between 0 and 3"},
{dev_mode,100,"dev-mode",
boolean,
"Symlink the applications and configuration into the release instead of copying"},
{include_erts,105,
"include-erts",string,
"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,97,"override",
string,
"Provide an app name and a directory to override in the form <appname>:<app directory>"},
{config,99,"config",
{string,[]},
"The path to a config file"},
{overlay_vars,undefined,
"overlay_vars",string,
"Path to a file of overlay variables"},
{vm_args,undefined,"vm_args",
string,
"Path to a file to use for vm.args"},
{sys_config,undefined,
"sys_config",string,
"Path to a file to use for sys.config"},
{system_libs,undefined,
"system_libs",string,
"Path to dir of Erlang system libs"},
{version,undefined,"version",
undefined,
"Print relx version"},
{root_dir,114,"root",string,
"The project root directory"}],
[default],
default},
{provider,state,rebar_prv_state,
{[],[]},
false,[],
"Display rebar configuration for debugging purpose",
"Print current configuration state",
"rebar3 state",[],
[default],
default},
{provider,shell,rebar_prv_shell,
{[],[]},
true,
[compile],
"Start a shell with project and deps preloaded similar to~n'erl -pa ebin -pa deps/*/ebin'.~n",
"Run shell with project apps and deps in path.",
"rebar3 shell",
[{config,undefined,"config",
string,
"Path to the config file to use. Defaults to {shell, [{config, File}]} and then the relx sys.config file if not specified."},
{name,undefined,"name",atom,
"Gives a long name to the node."},
{sname,undefined,"sname",atom,
"Gives a short name to the node."},
{setcookie,undefined,
"setcookie",atom,
"Sets the cookie if the node is distributed."},
{script_file,undefined,
"script",string,
"Path to an escript file to run before starting the project apps. Defaults to rebar.config {shell, [{script_file, File}]} if not specified."},
{apps,undefined,"apps",string,
"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."}],
[default],
default},
{provider,report,
rebar_prv_report,
{[],[]},
** (Mix) Could not compile dependency :fs, "/Users/alex/.mix/rebar3 bare compile --paths "/Users/alex/Desktop/test/_build/dev/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile fs", update it with "mix deps.update fs" or clean it with "mix deps.clean fs"
true,[],
"Provide a crash report to be sent to the rebar3 issues page.",
"Provide a crash report to be sent to the rebar3 issues page.",
"rebar3 report \"<task>\"",
[{task,undefined,undefined,
string,
"Task to print details for."}],
[default],
default},
{provider,relup,rebar_prv_relup,
{[],[]},
true,
[release],
"Create relup of releases.",
"Create relup of releases.",
"rebar3 relup",
[{relname,110,"relname",string,
"Specify the name for the release that will be generated"},
{relvsn,118,"relvsn",string,
"Specify the version for the release"},
{goal,103,"goal",string,
"Specify a target constraint on the system. These are usually the OTP"},
{upfrom,117,"upfrom",string,
"Only valid with relup target, specify the release to upgrade from"},
{output_dir,111,"output-dir",
string,
"The output directory for the release. This is `./` by default."},
{help,104,"help",undefined,
"Print usage"},
{lib_dir,108,"lib-dir",string,
"Additional dir that should be searched for OTP Apps"},
{path,112,"path",string,
"Additional dir to add to the code path"},
{default_libs,undefined,
"default-libs",boolean,
"Whether to use the default system added lib dirs (means you must add them all manually). Default is true"},
{log_level,86,"verbose",
{integer,2},
"Verbosity level, maybe between 0 and 3"},
{dev_mode,100,"dev-mode",
boolean,
"Symlink the applications and configuration into the release instead of copying"},
{include_erts,105,
"include-erts",string,
"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,97,"override",
string,
"Provide an app name and a directory to override in the form <appname>:<app directory>"},
{config,99,"config",
{string,[]},
"The path to a config file"},
{overlay_vars,undefined,
"overlay_vars",string,
"Path to a file of overlay variables"},
{vm_args,undefined,"vm_args",
string,
"Path to a file to use for vm.args"},
{sys_config,undefined,
"sys_config",string,
"Path to a file to use for sys.config"},
{system_libs,undefined,
"system_libs",string,
"Path to dir of Erlang system libs"},
{version,undefined,"version",
undefined,
"Print relx version"},
{root_dir,114,"root",string,
"The project root directory"}],
[default],
default},
{provider,release,
rebar_prv_release,
{[],[]},
true,
[compile],
"Build release of project.",
"Build release of project.",
"rebar3 release",
[{relname,110,"relname",string,
"Specify the name for the release that will be generated"},
{relvsn,118,"relvsn",string,
"Specify the version for the release"},
{goal,103,"goal",string,
"Specify a target constraint on the system. These are usually the OTP"},
{upfrom,117,"upfrom",string,
"Only valid with relup target, specify the release to upgrade from"},
{output_dir,111,"output-dir",
string,
"The output directory for the release. This is `./` by default."},
{help,104,"help",undefined,
"Print usage"},
{lib_dir,108,"lib-dir",string,
"Additional dir that should be searched for OTP Apps"},
{path,112,"path",string,
"Additional dir to add to the code path"},
{default_libs,undefined,
"default-libs",boolean,
"Whether to use the default system added lib dirs (means you must add them all manually). Default is true"},
{log_level,86,"verbose",
{integer,2},
"Verbosity level, maybe between 0 and 3"},
{dev_mode,100,"dev-mode",
boolean,
"Symlink the applications and configuration into the release instead of copying"},
{include_erts,105,
"include-erts",string,
"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,97,"override",
string,
"Provide an app name and a directory to override in the form <appname>:<app directory>"},
{config,99,"config",
{string,[]},
"The path to a config file"},
{overlay_vars,undefined,
"overlay_vars",string,
"Path to a file of overlay variables"},
{vm_args,undefined,"vm_args",
string,
"Path to a file to use for vm.args"},
{sys_config,undefined,
"sys_config",string,
"Path to a file to use for sys.config"},
{system_libs,undefined,
"system_libs",string,
"Path to dir of Erlang system libs"},
{version,undefined,"version",
undefined,
"Print relx version"},
{root_dir,114,"root",string,
"The project root directory"}],
[default],
default},
{provider,upgrade,
rebar_prv_plugins_upgrade,
{[],[]},
true,[],
"List or upgrade plugins",
"Upgrade plugins",
"rebar3 plugins upgrade <plugin>",
[{plugin,undefined,undefined,
string,"Plugin to upgrade"}],
[default],
plugins},
{provider,list,
rebar_prv_plugins,
{[],[]},
true,[],
"List local and global plugins for this project",
"List local and global plugins for this project",
"rebar3 plugins list",[],
[default],
plugins},
{provider,path,rebar_prv_path,
{[],[]},
true,
[app_discovery],
"Print paths to build dirs in current profile.",
"Print paths to build dirs in current profile.",
"rebar3 path",
[{app,undefined,"app",string,
"Comma seperated list of applications to return paths for."},
{base,undefined,"base",
boolean,
"Return the `base' path of the current profile."},
{bin,undefined,"bin",boolean,
"Return the `bin' path of the current profile."},
{ebin,undefined,"ebin",
boolean,
"Return all `ebin' paths of the current profile's applications."},
{lib,undefined,"lib",boolean,
"Return the `lib' path of the current profile."},
{priv,undefined,"priv",
boolean,
"Return the `priv' path of the current profile's applications."},
{separator,115,"separator",
string,
"In case of multiple return paths, the separator character to use to join them."},
{src,undefined,"src",boolean,
"Return the `src' path of the current profile's applications."},
{rel,undefined,"rel",boolean,
"Return the `rel' path of the current profile."}],
[default],
default},
{provider,pkgs,
rebar_prv_packages,
{[],[]},
true,[],
["List available packages",46,
"\n"],
"List available packages.",
"rebar3 pkgs",[],
[default],
default},
{provider,new,rebar_prv_new,
{[],[]},
true,[],
[67,114,101,97,116,101,32,114,
101,98,97,114,51,32,112,114,
111,106,101,99,116,32,98,97,
115,101,100,32,111,110,32,116,
101,109,112,108,97,116,101,32,
97,110,100,32,118,97,114,115,
46,"\n","\n",86,97,108,105,100,
32,99,111,109,109,97,110,100,
32,108,105,110,101,32,111,112,
116,105,111,110,115,58,"\n",32,
32,60,116,101,109,112,108,97,
116,101,62,32,91,118,97,114,61,
102,111,111,44,46,46,46,93,
"\n"],
"Create new project from templates.",
"rebar3 new <template>",
[{force,102,"force",undefined,
"overwrite existing files"}],
[default],
default},
{provider,lock,rebar_prv_lock,
{[],[]},
false,
[install_deps],
"Locks dependencies",
"Locks dependencies.",[],[],
[default],
default},
{provider,upgrade,
rebar_prv_local_upgrade,
{[],[]},
true,[],[],
"Download latest rebar3 escript and extract.",
"rebar3 unstable upgrade",[],
[default],
local},
{provider,install,
rebar_prv_local_install,
{[],[]},
true,[],[],
"Extract libs from rebar3 escript along with a run script.",
"rebar3 unstable install",[],
[default],
local},
{provider,install_deps,
rebar_prv_install_deps,
{[],[]},
false,
[app_discovery],
[],[],undefined,[],
[default],
default},
{provider,help,rebar_prv_help,
{[],[]},
true,[],
"Display a list of tasks or help for a given task or subtask.",
"Display a list of tasks or help for a given task or subtask.",
"rebar3 help <task>",
[{help_task,undefined,
undefined,string,
"Task to print help for."}],
[default],
default},
{provider,eunit,rebar_prv_eunit,
{[],[]},
true,
[lock],
"Run EUnit Tests.",
"Run EUnit Tests.",
"rebar3 eunit",
[{app,undefined,"app",string,
"Comma separated list of application test suites to run. Equivalent to `[{application, App}]`."},
{application,undefined,
"application",string,
"Comma separated list of application test suites to run. Equivalent to `[{application, App}]`."},
{cover,99,"cover",boolean,
"Generate cover data. Defaults to false."},
{dir,100,"dir",string,
"Comma separated list of dirs to load tests from. Equivalent to `[{dir, Dir}]`."},
{file,102,"file",string,
"Comma separated list of files to load tests from. Equivalent to `[{file, File}]`."},
{module,109,"module",string,
"Comma separated list of modules to load tests from. Equivalent to `[{module, Module}]`."},
{suite,115,"suite",string,
"Comma separated list of modules to load tests from. Equivalent to `[{module, Module}]`."},
{verbose,118,"verbose",
boolean,
"Verbose output. Defaults to false."}],
[test],
default},
{provider,escriptize,
rebar_prv_escriptize,
{[],[]},
true,
[compile],
"Generate an escript executable containing the project's and its dependencies' BEAM files.",
"Generate escript archive.",
"rebar3 escriptize",[],
[default],
default},
{provider,edoc,rebar_prv_edoc,
{[],[]},
true,
[compile],
"Generate documentation using edoc.",
"Generate documentation using edoc.",
"rebar3 edoc",[],
[docs],
default},
{provider,do,rebar_prv_do,
{[],[]},
true,[],
"Higher order provider for running multiple tasks in a sequence.",
"Higher order provider for running multiple tasks in a sequence.",
"rebar3 do <task1>, <task2>, ...",
[],
[default],
default},
{provider,dialyzer,
rebar_prv_dialyzer,
{[],[]},
true,
[compile],
"Run the Dialyzer analyzer on the project.\n\nThis command will build, and keep up-to-date, a suitable PLT and will use it to carry out success typing analysis on the current project.\n\nThe following (optional) configurations can be added to a `proplist` of options `dialyzer` in rebar.config:\n`warnings` - a list of dialyzer warnings\n`get_warnings` - display warnings when altering a PLT file (boolean)\n`plt_apps` - the strategy for determining the applications which included in the PLT file, `top_level_deps` to include just the direct dependencies or `all_deps` to include all nested dependencies*\n`plt_extra_apps` - a list of applications to include in the PLT file**\n`plt_location` - the location of the PLT file, `local` to store in the profile's base directory (default) or a custom directory.\n`plt_prefix` - the prefix to the PLT file, defaults to \"rebar3\"***\n`base_plt_apps` - a list of applications to include in the base PLT file****\n`base_plt_location` - the location of base PLT file, `global` to store in $HOME/.cache/rebar3 (default) or a custom directory****\n`base_plt_prefix` - the prefix to the base PLT file, defaults to \"rebar3\"*** ****\n\nFor example, to warn on unmatched returns: \n{dialyzer, [{warnings, [unmatched_returns]}]}.\n\n*The direct dependent applications are listed in `applications` and `included_applications` of their .app files.\n**The applications in `base_plt_apps` will be added to the list. \n***PLT files are named \"<prefix>_<otp_release>_plt\".\n****The base PLT is a PLT containing the core applications often required for a project's PLT. One base PLT is created per OTP version and stored in `base_plt_location`. A base PLT is used to build project PLTs.\n",
"Run the Dialyzer analyzer on the project.",
"rebar3 dialyzer",
[{update_plt,117,"update-plt",
boolean,
"Enable updating the PLT. Default: true"},
{succ_typings,115,
"succ-typings",boolean,
"Enable success typing analysis. Default: true"}],
[default],
default},
{provider,tree,
rebar_prv_deps_tree,
{[],[]},
true,
[lock],
[],"Print dependency tree.",
"rebar3 tree",
[{verbose,118,"verbose",
undefined,
"Print repo and branch/tag/ref for git and hg deps"}],
[default],
default},
{provider,deps,rebar_prv_deps,
{[],[]},
true,
[app_discovery],
"List dependencies. Those not matching lock files are followed by an asterisk (*).",
"List dependencies",
"rebar3 deps",[],
[default],
default},
{provider,cover,rebar_prv_cover,
{[],[]},
true,
[app_discovery],
"Perform coverage analysis.",
"Perform coverage analysis.",
"rebar3 cover",
[{reset,114,"reset",boolean,
"Reset all coverdata."},
{verbose,118,"verbose",
boolean,
"Print coverage analysis."}],
[test],
default},
{provider,compile,
rebar_prv_compile,
{[],[]},
true,
[lock],
"Compile apps .app.src and .erl files.",
"Compile apps .app.src and .erl files.",
"rebar3 compile",[],
[default],
default},
{provider,ct,
rebar_prv_common_test,
{[],[]},
true,
[lock],
"Run Common Tests.",
"Run Common Tests.","rebar3 ct",
[{dir,undefined,"dir",string,
"List of additional directories containing test suites"},
{suite,undefined,"suite",
string,
"List of test suites to run"},
{group,undefined,"group",
string,
"List of test groups to run"},
{testcase,undefined,"case",
string,
"List of test cases to run"},
{label,undefined,"label",
string,"Test label"},
{config,undefined,"config",
string,"List of config files"},
{allow_user_terms,undefined,
"allow_user_terms",boolean,
"Allow user defined config values in config files"},
{logdir,undefined,"logdir",
string,"Log folder"},
{logopts,undefined,"logopts",
string,
"Options for common test logging"},
{verbosity,undefined,
"verbosity",integer,
"Verbosity"},
{cover,99,"cover",
{boolean,false},
"Generate cover data"},
{repeat,undefined,"repeat",
integer,
"How often to repeat tests"},
{duration,undefined,
"duration",string,
"Max runtime (format: HHMMSS)"},
{until,undefined,"until",
string,
"Run until (format: HHMMSS)"},
{force_stop,undefined,
"force_stop",string,
"Force stop on test timeout (true | false | skip_rest)"},
{basic_html,undefined,
"basic_html",boolean,
"Show basic HTML"},
{stylesheet,undefined,
"stylesheet",string,
"CSS stylesheet to apply to html output"},
{decrypt_key,undefined,
"decrypt_key",string,
"Path to key for decrypting config"},
{decrypt_file,undefined,
"decrypt_file",string,
"Path to file containing key for decrypting config"},
{abort_if_missing_suites,
undefined,
"abort_if_missing_suites",
{boolean,true},
"Abort if suites are missing"},
{multiply_timetraps,undefined,
"multiply_timetraps",integer,
[]},
{scale_timetraps,undefined,
"scale_timetraps",boolean,
"Scale timetraps"},
{create_priv_dir,undefined,
"create_priv_dir",string,
"Create priv dir (auto_per_run | auto_per_tc | manual_per_tc)"},
{include,undefined,"include",
string,
"Directories containing additional include files"},
{readable,undefined,
"readable",boolean,
"Shows test case names and only displays logs to shell on failures"},
{verbose,118,"verbose",
boolean,"Verbose output"}],
[test],
default},
{provider,clean,rebar_prv_clean,
{[],[]},
true,
[app_discovery],
"Remove compiled beam files from apps.",
"Remove compiled beam files from apps.",
"rebar3 clean",
[{all,97,"all",undefined,
"Clean all apps include deps"},
{profile,112,"profile",string,
"Clean under profile. Equivalent to `rebar3 as <profile> clean`"}],
[default],
default},
{provider,compile,
rebar_prv_bare_compile,
{[],[]},
false,
[{default,app_discovery}],
[],[],[],
[{paths,112,"paths",string,
"Wildcard path of ebin directories to add to code path"}],
[default],
bare},
{provider,as,rebar_prv_as,
{[],[]},
true,[],
"Higher order provider for running multiple tasks in a sequence as a certain profiles.",
"Higher order provider for running multiple tasks in a sequence as a certain profiles.",
"rebar3 as <profile1>,<profile2>,... <task1>, <task2>, ...",
[{profile,undefined,undefined,
string,"Profiles to run as."}],
[default],
default},
{provider,app_discovery,
rebar_prv_app_discovery,
{[],[]},
false,[],[],[],[],[],
[default],
default}],
false}],
[]},
{pc_prv_compile,'-do/1-lc$^0/1-0-',
2,
[{file,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc_prv_compile.erl"},
{line,52}]},
{pc_prv_compile,do,1,
[{file,
"/Users/alex/Desktop/test/deps/fs/_build/default/plugins/pc/src/pc_prv_compile.erl"},
{line,49}]},
{rebar_core,do,2,
[{file,
"/home/travis/build/rebar/rebar3/_build/default/lib/rebar/src/rebar_core.erl"},
{line,125}]},
{rebar_hooks,run_provider_hooks_,6,
[{file,
"/home/travis/build/rebar/rebar3/_build/default/lib/rebar/src/rebar_hooks.erl"},
{line,46}]},
{rebar_hooks,run_all_hooks,6,
[{file,
"/home/travis/build/rebar/rebar3/_build/default/lib/rebar/src/rebar_hooks.erl"},
{line,16}]},
{rebar_prv_compile,compile,3,
[{file,
"/home/travis/build/rebar/rebar3/_build/default/lib/rebar/src/rebar_prv_compile.erl"},
{line,119}]},
{rebar_prv_bare_compile,do,1,
[{file,
"/home/travis/build/rebar/rebar3/_build/default/lib/rebar/src/rebar_prv_bare_compile.erl"},
{line,47}]}]
===> When submitting a bug report, please include the output of `rebar3 report "your command"`
this after I use
defp deps do
[{:mix_test_watch, "~> 0.3", only: :dev, runtime: false},
{:fs, "2.11.0", override: true}]
end
➜ test mix deps.update --all
Running dependency resolution...
Dependency resolution completed:
fs 2.12.0
mix_test_watch 0.3.2
➜ test mix deps.update --all
Running dependency resolution...
Dependency resolution completed:
fs 2.11.0
mix_test_watch 0.3.2
* Updating fs (Hex package)
Checking package (https://repo.hex.pm/tarballs/fs-2.11.0.tar)
Fetched package
➜ test mix test.watch
warning: variable "deps" does not exist and is being expanded to "deps()", please use parentheses to remove the ambiguity or change the variable name
/Users/alex/Desktop/test/deps/fs/mix.exs:8
warning: variable "package" does not exist and is being expanded to "package()", please use parentheses to remove the ambiguity or change the variable name
/Users/alex/Desktop/test/deps/fs/mix.exs:10
==> fs
Compiling 9 files (.erl)
Generated fs app
==> mix_test_watch
Compiling 12 files (.ex)
Generated mix_test_watch app
16:47:25.001 [info] Application mix_test_watch exited: MixTestWatch.start(:normal, []) returned an error: shutdown: failed to start child: MixTestWatch.Watcher
** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
** (MatchError) no match of right hand side value: {:error, {{:shutdown, {:failed_to_start_child, MixTestWatch.Watcher, :noproc}}, {MixTestWatch, :start, [:normal, []]}}}
(mix_test_watch) lib/mix_test_watch.ex:19: MixTestWatch.run/1
(mix) lib/mix/task.ex:294: Mix.Task.run_task/3
(mix) lib/mix/cli.ex:58: Mix.CLI.run_task/2
(elixir) lib/code.ex:370: Code.require_file/2
Which elixir/erlang version do you use?
The same as you it seems.
@lpil the compile issue has been fixed https://github.com/synrc/fs/issues/40, however, I get
10:18:10.059 [info] Application fs exited: :fs_app.start(:normal, []) returned an error: an exception was raised:
** (UndefinedFunctionError) function :mad_repl.load_file/1 is undefined (module :mad_repl is not available)
:mad_repl.load_file('deps/fs/priv/mac_listener')
(fs) /Users/alex/Sites/dpe-enterprise/deps/fs/src/fs.erl:43: :fs.mad_file/1
(fs) /Users/alex/Sites/dpe-enterprise/deps/fs/src/fs_sup.erl:27: :fs_sup.has_executable/1
(fs) /Users/alex/Sites/dpe-enterprise/deps/fs/src/fs_sup.erl:17: :fs_sup.init/1
(stdlib) supervisor.erl:294: :supervisor.init/1
(stdlib) gen_server.erl:328: :gen_server.init_it/6
(stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3
** (MatchError) no match of right hand side value: {:error, {{:undef, [{:mad_repl, :load_file, ['deps/fs/priv/mac_listener'], []}, {:fs, :mad_file, 1, [file: '/Users/alex/Sites/dpe-enterprise/deps/fs/src/fs.erl', line: 43]}, {:fs_sup, :has_executable, 1, [file: '/Users/alex/Sites/dpe-enterprise/deps/fs/src/fs_sup.erl', line: 27]}, {:fs_sup, :init, 1, [file: '/Users/alex/Sites/dpe-enterprise/deps/fs/src/fs_sup.erl', line: 17]}, {:supervisor, :init, 1, [file: 'supervisor.erl', line: 294]}, {:gen_server, :init_it, 6, [file: 'gen_server.erl', line: 328]}, {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 247]}]}, {:fs_app, :start, [:normal, []]}}}
lib/mix_test_watch.ex:18: MixTestWatch.run/1
(mix) lib/mix/task.ex:294: Mix.Task.run_task/3
(mix) lib/mix/cli.ex:58: Mix.CLI.run_task/2
(elixir) lib/code.ex:370: Code.require_file/2
which maybe needs this https://github.com/synrc/fs/issues/33#issuecomment-265485675 to be in deps file? I don't know if it's the way the dependency is imported or an issue with the package itself
I think something weird, related to x-code command line tools, is happening here - did you upgrade Mac OS lately? It seems using an older version of gcc prevents deps/fs/priv/mac_listener from beeing created during compile time.
I fixed the problem by adding
{:mix_test_watch, "~> 0.3.3", runtime: false},
{:fs, github: "synrc/fs", manager: :rebar, override: true}
to the projects Mixfile as @alex88 suggested and then ran xcode-select --install
to update the command line tools. Then
deps.clean --all
deps.get
mix test.watch
et voilà - it worked (for me...). Hope this helps.
@malindhorst using that mixfile (maybe that was the issue) fixed it! thanks! I didn't upgraded Mac OS in a while tho
Excellent!
I'm using
mix test.watch
in an umbrella project, I had to override thefs
dependency to 2.11.0 due to https://github.com/synrc/fs/issues/40When I try to run
test.watch
I getany idea?