rabbitmq / rabbitmq-common

Common library used by rabbitmq-server and rabbitmq-erlang-client
Other
66 stars 112 forks source link

Introduce `rabbit_env` module #337

Closed dumbbell closed 4 years ago

dumbbell commented 5 years ago

This pull request is part of the effort to move rabbitmq-server(8) scripts to Erlang code and transform the rabbit application in a regular Erlang/OTP application (rabbitmq/rabbitmq-server#2180).

This patch covers two main areas:

  1. It introduces a new module called rabbit_env. It is responsible to create a context based on RabbitMQ environment variables and default settings. The reorganized startup sequence now relies on this context to configure Erlang applications and set RabbitMQ up.

  2. The way the rabbit application is distributed is now the same as any plugins: it is now packaged as an .ez archive. This simplifies our Makefiles and makes RabbitMQ startup in a development environment identical to a production RabbitMQ (installed from packages for instance).