Browse Source

Making the sample file up to date

pull/623/head
Fred Hebert 9 years ago
parent
commit
342e217ac0
1 changed files with 144 additions and 57 deletions
  1. +144
    -57
      rebar.config.sample

+ 144
- 57
rebar.config.sample View File

@ -3,6 +3,13 @@
%% This is a sample rebar.conf file that shows examples of some of rebar's
%% options.
%% == Artifacts ==
%% Artifacts are files generated by other tools (or plugins) and whose
%% presence is necessary for a build to be considered successful
{artifacts, ["priv/mycode.so"]}.
%% == Erlang Compiler ==
%% Erlang files to compile before the rest. Rebar automatically compiles
@ -13,12 +20,6 @@
%% Erlang compiler options
{erl_opts, [no_debug_info,
{i, "myinclude"},
%% directories containing source files
{src_dirs, ["src", "src2", "src3"]},
%% extra_src_dirs are directories containing
%% source files that are NOT part of the
%% application itself
{extra_src_dirs, ["eunit", "ct"]},
{platform_define,
"(linux|solaris|freebsd|darwin)", 'HAVE_SENDFILE'},
{platform_define, "(linux|freebsd)", 'BACKLOG', 128},
@ -26,60 +27,29 @@
%% MIB Options?
{mib_opts, []}.
%% SNMP mibs to compile first?
{mib_first_files, []}.
%% leex options
{xrl_opts, []}.
%% leex files to compile first
{xrl_first_files, []}.
%% yecc options
{yrl_opts, []}.
%% yecc files to compile first
{yrl_first_files, []}.
%% == EDoc ==
%% EDoc options
{edoc_opts, []}.
%% == escriptize ==
{escript_name, "application"}.
{escript_incl_apps, []}.
{escript_shebang, "#!/usr/bin/env escript\n"}.
{escript_comment, "%%\n"}.
{escript_emu_args, "%%! -pa application/application/ebin\n"}.
%% == ErlyDTL Compiler ==
%% Options for the ErlyDTL compiler
{erlydtl_opts, []}.
%% == EUnit ==
%% Options for eunit:test()
{eunit_opts, []}.
%% Additional compile options for eunit. erl_opts is also used
{eunit_compile_opts, []}.
%% Files to compile first when compiling eunit test suites
{eunit_first_files, []}.
%% == Common Test ==
%% Options to pass to ct:run_test/1
{ct_opts, [{logdir, "logs"}, {dir, "test"}]}.
%% Additional compile options for ct. erl_opts is also used
%% {erl_opts, [...]}, but for CT runs
{ct_compile_opts, []}.
%% Files to compile first when compiling ct test suites
%% {erl_first_files, ...} but for CT runs
{ct_first_files, []}.
%% Same options as for ct:run_test(...)
{ct_opts, []}.
%% == Cover ==
@ -90,6 +60,7 @@
%% Options to pass to cover provider
{cover_opts, [verbose]}.
%% == Dependencies ==
%% What dependencies we have, dependencies can be of 3 forms, an application
@ -97,21 +68,112 @@
%% an application name, a version and the SCM details on how to fetch it (SCM
%% type, location and revision).
%% Rebar3 currently supports git and hg
{deps, [app_name,
{rebar, "1.0.*"},
{rebar, ".*",
{git, "git://github.com/rebar/rebar.git"}},
{rebar, ".*",
{git, "git://github.com/rebar/rebar.git", "Rev"}},
{rebar, "1.0.*",
{git, "git://github.com/rebar/rebar.git", {branch, "master"}}},
{rebar, "1.0.0",
{git, "git://github.com/rebar/rebar.git", {tag, "1.0.0"}}},
{rebar, ".*",
{git, "git://github.com/rebar/rebar.git", {ref, "7f73b8d3650b41ffd53a199f3eda20985eda84e3"}}},
{app_name, ".*", {hg, "https://www.example.org/url"}}]}.
%% == Pre/Post Command Hooks ==
{deps, [
app_name, % latest version of package
{rebar, "1.0.0"}, % version 1.0.0 of a package
{rebar, % git, master branch of app, explicit
{git, "git://github.com/rebar/rebar.git", {branch, "master"}}},
{rebar, % git, over HTTPS
{git, "https://github.com/rebar/rebar.git", {branch, "master"}}},
{rebar, % git, tag
{git, "https://github.com/rebar/rebar.git", {tag, "1.0.0"}}},
{rebar, % git, specific reference/hash
{git, "https://github.com/rebar/rebar.git", {ref, "7f73b8d6"}}},
{rebar, % mercurial is also supported
{hg, "https://github.com/rebar/rebar.git", {tag, "1.0.0"}}},
%% Alternative formats, backwards compatible declarations
{rebar, % implicit master, will warn recommending explicit branch
{git, "git://github.com/rebar/rebar.git"}},
{rebar, "1.0.*", % regex version check, ignored
{git, "git://github.com/rebar/rebar.git"}},
{rebar, "1.0.*", % literal branch/ref/tag, will warn for explicit reference
{git, "git://github.com/rebar/rebar.git", "Rev"}},
{rebar, ".*", % 'raw' dependency, argument ignored
{git, "git://github.com/rebar/rebar.git", {branch, "master"}},
[raw]}
]}.
%% == Dialyzer ==
{dialyzer, [
{warnings, [underspecs, no_return]},
{get_warnings, true},
{plt_extra_apps, []},
{plt_location, local}, % local | "/my/file/name"
{plt_prefix, "rebar3"},
{base_plt_apps, [stdlib, kernel, crypto]},
{base_plt_location, global}, % global | "/my/file/name"
{base_plt_prefix, "rebar3"}
]}.
%% == Directories ==
%% directory for artifacts produced by rebar3
{base_dir, "_build"}.
%% directory in '<base_dir>/<profile>/' where deps go
{deps_dir, "lib"}.
%% where rebar3 operates from; defaults to the current working directory
{root_dir, "."}.
%% where checkout dependencies are to be located
{checkouts_dir, "_checkouts"}.
%% directory in '<base_dir>/<profile>/' where plugins go
{plugins_dir, "plugins"}.
%% directories where OTP applications for the project can be located
{project_app_dirs, ["apps/*", "lib/*", "."]}.
%% Directories where source files for an OTP application can be found
{src_dirs, ["src"]}.
%% Paths to miscellaneous Erlang files to compile for an app
%% without including them in its modules list
{extra_src_dirs, []}.
%% == EDoc ==
%% EDoc options, same as those passed to the edoc compiler
%% when called by hand.
{edoc_opts, []}.
%% == Escript ==
%% name of the main OTP application to boot
{escript_main_app, application}
%% Name of the resulting escript executable
{escript_name, "application"}.
%% apps (other than main and deps) to be included
{escript_incl_apps, []}.
%% Executable escript lines
{escript_shebang, "#!/usr/bin/env escript\n"}.
{escript_comment, "%%\n"}.
{escript_emu_args, "%%! -escript main ~s -pa ~s/~s/ebin\n"}.
%% == EUnit ==
%% Options for eunit:test(Tests, ...)
{eunit_opts, []}.
%% Additional compile options for eunit. erl_opts is also used
{eunit_compile_opts, []}.
%% {erl_first_files, ...} but for Eunit
{eunit_first_files, []}.
%% == Overrides ==
{overrides, [
%% Add options to mydep's configurations for each element
{add, mydep, [{erl_opts, []}]},
%% replace mydep's configuration option
{override, mydep, [{erl_opts, []}]},
%% replace all dependencies' configuration options
{override, [{erl_opts, []}]}
]}.
%% == Pre/Post Shell Hooks ==
%% Running shell commands before or after a given rebar3 command
{pre_hooks, [{clean, "./prepare_package_files.sh"},
{"linux", compile, "c_src/build_linux.sh"},
@ -123,6 +185,31 @@
{eunit, "touch file2.out"},
{compile, "touch postcompile.out"}]}.
%% == Provider Hooks ==
%% Run a rebar3 command before or after another one.
%% Only clean, ct, compile, eunit, release, and tar can be hooked around
%% runs 'clean' before 'compile'
{provider_hooks, [{pre, [{compile, clean}]}]}
%% == Releases ==
{relx, [{release, {my_release, "0.0.1"},
[myapp]},
{dev_mode, true},
{include_erts, false},
{extended_start_script, true}]}.
%% == Shell ==
%% apps to auto-boot with `rebar3 shell'; defaults to apps
%% specified in a `relx' tuple, if any.
{shell_apps, [app1, app2]}
%% == xref ==
{xref_warnings, false}.

Loading…
Cancel
Save