mad
mad copied to clipboard
Dependency manager for Erlang
-
Mad [[https://travis-ci.org/s1n4/mad][https://travis-ci.org/s1n4/mad.png?branch=master]]
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.
** Requirement
- Erlang/OTP R14 or newer
** Get it
Clone it and just run ~make~. This builds the standalone escript executable ~mad~, then put it in your ~$PATH~.
** Test it #+BEGIN_SRC $ make test #+END_SRC
** Use it #+BEGIN_SRC $ 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
#+END_SRC
** Goals
- Making a sane dependency manager for Erlang
- Making a faster build system since dependencies need to be compiled
** Roadmap
*** v0.1 - 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
*** v0.2 - 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)
** Contribute
- Open up [[https://github.com/s1n4/mad/issues][issues]]
- Share your thoughts
- Send pull-request