Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/synrc/mad

⚡ MAD: Managing Application Dependencies LING/UNIX
https://github.com/synrc/mad

beam erlang escript peg ports yecc

Last synced: 20 days ago
JSON representation

⚡ MAD: Managing Application Dependencies LING/UNIX

Awesome Lists containing this project

README

        

MAD: Manage Dependencies
========================

[![Actions Status](https://github.com/synrc/mad/workflows/mix/badge.svg)](https://github.com/synrc/mad/actions)
[![Build Status](https://travis-ci.com/synrc/mad.svg?branch=master)](https://travis-ci.com/synrc/mad)
[![Hex pm](http://img.shields.io/hexpm/v/mad.svg?style=flat)](https://hex.pm/packages/mad)

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

![MAD](http://synrc.com/images/mad.png)

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
-----

```sh
$ 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.

```sh
$ ./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](http://synrc.com/apps/mad/doc/book.pdf)

Credits
-------

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