mirror https://github.com/synrc/mad

Namdak Tonpa 22fefabbcf version 10 years ago
doc 76c17a9b70 book 10 years ago
include 22fefabbcf version 10 years ago
priv b171e9653c typo 10 years ago
src 22fefabbcf version 10 years ago
test fe1e953680 make mad regular OTP application back 11 years ago
.gitignore 856c7887f3 Get the escript to work 11 years ago
.travis.yml a391e95692 mad with no deps 11 years ago
LICENSE 8f923c22c9 create command, proper copyright, dharma license 10 years ago
Makefile 22fefabbcf version 10 years ago
README.md f86c902eea improve README.md 10 years ago
mad 22fefabbcf version 10 years ago
rebar.config d0a5089187 ver cd /Users/5HT/depot/synrc 10 years ago

README.md

MAD

A simple rebar-compatible dependency manager.

MAD

Goals

It shall:

  • be compatible with rebar configuration.
  • be as small and fast as possible.

Build

$ make

And put 'mad' to PATH.

Unikernel Bundle

Bundle is a gzipped archive of erlang beams of all dependecies along with directory structure of OTP-applications with priv directories. This allows you to pack all site inside single portable escript package able to run under Windows, Linux and Mac. Releases includes all current directory exept sources both code and data with all dependencies.

$ mad app "sample"
$ cd sample
$ mad deps compile plan bundle "web_app"
$ ./web_app

Building OTP Release

Releases are bundles made by release_handler module of sasl applications. It has it own fat bootstripts along with erlang runtime included. This allows you to distribute you applications with copy deploy without Erlang prerequisite.

$ mad app sample
$ cd sample
$ mad dep com pla release
$ _rel/sample/bin/sample console

Note: relx must be installed

Credits

  • Maxim Sokhatsky
  • Sina Samavati
  • Vladimir Kirillov

OM A HUM