25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Tuncer Ayaz 121d8f03f9 Add Mickael Remond to THANKS file 14 년 전
ebin Add 'generate-appups' command 14 년 전
include Clean up specs 14 년 전
inttest Add pre and post script support for all commands 14 년 전
priv Add skip_app to shell completion 14 년 전
src Pass extra params to ct (thanks Mickael Remond) 14 년 전
test Update runner script in test project 14 년 전
.gitignore Ignore .eunit 14 년 전
.hgignore Add .gitignore to the source tree 14 년 전
.hgtags Added tag RELEASE-1 for changeset e8747041ef63 15 년 전
LICENSE Added HACKING, LICENSE and THANKS files 15 년 전
Makefile Add "clean" target 15 년 전
NOTES.org Initial commit 15 년 전
README.md Update README: file local variables 14 년 전
THANKS Add Mickael Remond to THANKS file 14 년 전
bootstrap Clean up emacs file local variables 14 년 전
bootstrap.bat add bat scripts for bootstrap and rebat (windows doesn't understand shebang), make bootstrap work on windows 14 년 전
rebar.bat Set local scope for env vars in rebar.bat 14 년 전
rebar.config Make debug_info default 14 년 전
rebar.config.sample Pass extra params to ct (thanks Mickael Remond) 14 년 전

README.md

rebar

rebar is an Erlang build tool that makes it easy to compile and
test Erlang applications, port drivers and releases.

rebar is a self-contained Erlang script, so it's easy to distribute or even
embed directly in a project. Where possible, rebar uses standard Erlang/OTP
conventions for project structures, thus minimizing the amount of build
configuration work. rebar also provides dependency management, enabling
application writers to easily re-use common libraries from a variety of
locations (git, hg, etc).

Building

Information on building and installing Erlang/OTP can be found in the INSTALL.md document.

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

Coding style

Do not introduce trailing whitespace.

Do not introduce lines longer than 80 characters.

Writing Commit Messages

Structure your commit message like this:

One line summary (less than 50 characters)

Longer description (wrap at 72 characters)

Summary

  • Less than 50 characters
  • What was changed
  • Imperative present tense (fix, add, change)

Fix bug 123
Add 'foobar' command
Change default timeout to 123

  • No period

Description

  • Wrap at 72 characters
  • Why, explain intention and implementation approach
  • Present tense

Atomicity

  • Break up logical changes
  • Make whitespace changes separately

Dialyzer and Tidier

Before you submit a patch check for discrepancies with Dialyzer:

$ cd rebar/
$ ./bootstrap debug
$ dialyzer ebin -Wunmatched_returns -Werror_handling -Wrace_conditions -Wunderspecs

The following discrepancies are known and safe to ignore:

rebar_templater.erl:249: The call rebar_templater:consult(
                                Cont1::erl_scan:return_cont(),'eof',
                                Acc::[any()])
                         contains an opaque term as 1st argument when terms
                         of different types are expected in these positions
rebar_utils.erl:144: Call to missing or unexported function escript:foldl/3
rebar_utils.erl:165: The created fun has no local return

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.