sinasamavati / mad

Dependency manager for Erlang

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Dependency manager for Erlang

License:MIT License


Languages

Language:Erlang 100.0%