Skip to content
Dependency manager for Erlang
Erlang
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
test
.gitignore
.travis.yml
CHANGELOG
LICENSE
Makefile
README.org
THANKS.org
TODO.org
build
erlang.mk

README.org

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

$ make test

Use it

$ 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

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 issues
  • Share your thoughts
  • Send pull-request
You can’t perform that action at this time.