Feuerlabs/exometer — pull request #102 by uwiger (2014-10-22 19:10:45+00:00)
Title: improved package management

From overview.edoc:

== Dependency management ==
Exometer dependencies can be controlled using the `EXOMETER_PACKAGES`
unix environment variable: a string listing packages or applications to
either keep or remove, separated using space, tab or comma.

Syntax:

* `(Package)` - use `Package` as a base. This will implicitly exclude all
applications not included in `Package'. See below for supported packages.

* `+(Package)` - add applications included in `Package'.

* `-(Package)` - remove applications in `Package' (except mandatory deps).

* `App` - keep application `App'.

* `+App` - keep application `App'.

* `-App` - exclude application `App'.

Supported packages:

* `minimal` - only the mandatory deps: `lager', `parse_trans', `setup'.

* `basic` - (mandatory deps and) `folsom'.

* `amqp` - (mandatory deps and) `amqp_client`, `jiffy`.

* `full` - all of the above, plus `afunix` and `netlink`.

Example - use only basic deps plus `afunix`

EXOMETER_PACKAGES="(basic), +afunix" make

Example - use all deps except the AMQP-related deps:

export EXOMETER_PACKAGES="(full) -(amqp)"