Building

Dependencies

To build rebar you will need a working installation of Erlang R13B03 (or
later).

Should you want to clone the rebar repository, you will also require git.

Downloading

Clone the git repository:

$ git clone git://github.com/basho/rebar.git

Building rebar

$ cd rebar
$ ./bootstrap
Recompile: src/getopt
...
Recompile: src/rebar_utils
==> rebar (compile)
Congratulations! You now have a self-contained script called "rebar"in
your current working directory. Place this script anywhere in your path
and you can use rebar to build OTP-compliant apps.

Contributing to rebar

Pull requests and branching

Use one topic branch per pull request.

Do not commit to master in your fork.

Provide a clean branch without any merge commits from upstream.

Usually you should squash any intermediate commits into the original single commit.

Atomicity

Dialyzer and Tidier

$ make check
Recompile: src/rebar_core
==> rebar (compile)
Command 'debug' not understood or not applicable
Congratulations! You now have a self-contained script called "rebar"in
your current working directory. Place this script anywhere in your path
and you can use rebar to build OTP-compliant apps.
make: [xref_warnings] Error 1 (ignored)
make: [dialyzer_warnings] Error 2 (ignored)

It is strongly recommended to check the code with
Tidier.
Select all transformation options and enable automatic
transformation.
If Tidier suggests a transformation apply the changes manually
to the source code.
Do not use the code from the tarball (out.tgz) as it will have
white-space changes
applied by Erlang's pretty-printer.