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

Namdak Tonpa 1393d4e1b7 mad MUST BE BUILT with 20 in 2020/2021 4 years ago
.github 4d287354a2 github actions for mad and hex publish (last was 4 years ago) 5 years ago
include 1393d4e1b7 mad MUST BE BUILT with 20 in 2020/2021 4 years ago
man a16f68ad2f opemmoji 5 years ago
priv 0cd4d9e709 Fix for 'attach' script 5 years ago
src ee9028a144 remove deprecated erl_interface library from linking path 4 years ago
test fe1e953680 make mad regular OTP application back 11 years ago
tex 69884206ad missed tex book 5 years ago
.gitignore 3e28aef622 new mad 6 years ago
.travis.yml 1393d4e1b7 mad MUST BE BUILT with 20 in 2020/2021 4 years ago
CNAME b3717cdee3 Update CNAME 5 years ago
LICENSE 6018824599 Update LICENSE 6 years ago
Makefile 019b4ac5dc Improved version show. 6 years ago
README.md c24b18587a Update README.md 5 years ago
escript.config 38142c7314 Added configurable escript emu_args: see 'escript.config' 8 years ago
index.html c3c3ce2048 index 5 years ago
mad 1393d4e1b7 mad MUST BE BUILT with 20 in 2020/2021 4 years ago
mad.cmd 0db1405f3a hide verbose functions 6 years ago
make.bat e2a30cf8fb fix html 5 years ago
mix.exs 13ad16ea5e fix bloated malfunction mad 150% that brokes entire SYNRC :-) 4 years ago
rebar.config 387ab63573 mad_hooks: log every line of hook output as it goes 6 years ago

README.md

MAD: Manage Dependencies

Actions Status Build Status Hex pm

A simple rebar-compatible dependency manager and developer tool with plugins for Windows, Linux and Mac.

MAD

Goals

It shall:

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

Features

  • Support rebar.config
  • Support OTP releases and directory structure
  • Fast deps resolving and cycles detecting
  • Fast compilation
  • Small codebase: 1K LOC
  • DTL/YECC/LEEX/PORT/SCRIPT/APP/ERL compilation
  • BEAM bundles (single-file escriptized app)
  • BEAM releases (faster and smaller than RELX)
  • Start/Stop/Attach
  • Static files generation with node.js tools

Build

    $ make

And put mad to PATH.

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 web sample
    $ cd sample
    $ ../mad dep com pla rel

Documentation

If you are new or need to determine whether the MAD architecture and philosophy is a fit for your project

  • Official MAD brochure PDF

Credits

  • Maxim Sokhatsky
  • Sina Samavati
  • Vladimir Kirillov
  • Taras Taraskin