Mad is a simple dependency manager for Erlang.
Mad can read your rebar configuration file, evaluate your rebar script (rebar.config.script), fetch and cache dependencies.
Moreover, Mad can compile dependencies and your application.
- Erlang/OTP R14 or newer
Clone it and just run make
. This builds the standalone escript executable
mad
, then put it in your $PATH
.
$ make test
$ mad -h Usage: ./mad [-h] [-C [<config_file>]] [--version] -h, --help Displays this message -C, --config Rebar config file to use [default: rebar.config] --version Displays version information fetch-deps Fetches dependencies compile-deps Compiles dependencies compile-app Compiles application compile Compiles dependencies and application
- Making a sane dependency manager for Erlang
- Making a faster build system since dependencies need to be compiled
- cache dependencies (DONE)
- support
deps_dir
deps
,erl_opts
,lib_dirs
,sub_dirs
,erlydtl_opts
(DONE) - support compiling
erl
,yrl
,xrl
and assembler files (INCOMPLETE) - support Git, SVN and Mercurial (INCOMPLETE)
- support compiling NIFs
- make a global configuration for overriding cache path and which protocol to fetch repository from (HTTPS, Git or SSH)
- make a local configuration for handling dependencies (an alternative for rebar.config)
- Open up issues
- Share your thoughts
- Send pull-request