%% -*- tab-width: 4;erlang-indent-level: 4;indent-tabs-mode: nil -*- %% ex: ts=4 sw=4 ft=erlang et %% This is a sample rebar.conf file that shows examples of some of rebar's %% options. %% == Core == %% Additional library directories to add to the code path {lib_dirs, []}. %% == Erlang Compiler == %% Erlang files to compile before the rest. Rebar automatically compiles %% parse_transforms and custom behaviours before anything other than the files %% in this list. {erl_first_files, ["mymib1", "mymib2"]}. %% Erlang compiler options {erl_opts, [{i, "myinclude"}, {src_dirs, ["src1", "src2"]}, {platform_define, "(linux|solaris|freebsd|darwin)", 'HAVE_SENDFILE'}, {platform_define, "(linux|freebsd)", 'BACKLOG', 128}]}. %% MIB Options? {mib_opts, []}. %% SNMP mibs to compile first? {mib_first_files, []}. %% == EDoc == %% EDoc options {edoc_opts, []}. %% == Port Compiler == %% List and wildcard list of files to be compiled. Default is `"c_src/*.c"' {port_sources, []}. %% Port compilation environment variables. See rebar_port_compiler.erl for %% more info. Default is `[]' {port_envs, []}. %% Tuple which specifies a pre-compilation script to run, and a filename that %% exists as a result of the script running. {port_pre_script, {"script.sh", "skipfile"}}. %% String that specifies a script to run during cleanup. Use this to remove %% files/directories created by port_pre_script. {port_cleanup_script, "cleanup.sh"}. %% Custom name of the port driver .so file. Defaults to `_drv.so'. {so_name, "driver.so"}. %% == LFE Compiler == %% LFE files to compile before the rest {lfe_first_files, []}. %% Options for the LFE compiler {lfe_opts, []}. %% == ErlyDTL Compiler == %% Options for the ErlyDTL compiler {erlydtl_opts, []}. %% == EUnit == %% Options for eunit:test() {eunit_opts, []}. %% Additional compile options for eunit. erl_opts from above is also used {eunit_compile_opts, []}. %% Whether to enable coverage reporting. Default is `false' {cover_enabled, false}. %% Whether to print coverage report to console. Default is `false' {cover_print_enabled, false}. %% == Dialyzer == %% Options for running dialyzer %% {plt, PltFile} %% 'src': run Dialyzer on the source files as in 'dialyzer --src' %% {warnings, [WarnOpts]}: turn on/off Dialyzer warnings {warnings_opts, [{plt, PltFile}, {warnings, [WarnOpts]}, src]}. %% == Cleanup == %% Which files to cleanup {clean_files, ["file", "file2"]}. %% == Reltool == %% Target directory for the release {target, "target"}. %% == OTP Applications == %% Binaries to link into the erlang path? {app_bin, []}. %% Enable validation of the OTP app module list. Default is 'true' {validate_app_modules, true}. %% == Dependancies == %% Where to put any downloaded depandencies. Default is `deps' {deps_dir, ["deps"]}. %% What dependancies we have, depandencies can be of 3 forms, an application %% name as an atom, eg. mochiweb, a name and a version (from the .app file), or %% an application name, a version and the SCM details on how to fetch it (SCM %% type, location and revision). Rebar currently support git, hg, bzr and svn. {deps, [application_name, {application_name, "1.0.*"}, {application_name, "1.0.*", {hg, "http://bitbucket.org/basho/rebar/", "f3626d5858a6"}}]}. %% == Subdirectories == %% Subdirectories? {sub_dirs, ["dir1", "dir2"]}.