RabbitMQ projects use pull requests to discuss, collaborate on and accept code contributions. Pull requests is the primary place of discussing code changes.
The process is fairly standard:
bazel sync
if you plan to use Bazel, or make
If what you are going to work on is a substantial change, please first ask the core team of their opinion on RabbitMQ mailing list.
See this guide on how to use Bazel and BuildBuddy for RabbitMQ core development.
When working on management UI code, besides starting the node with
bazel run broker RABBITMQ_ENABLED_PLUGINS=rabbitmq_management
(or any other set of plugins), it is highly recommended to use BrowserSync to shorten the edit/feedback cycle for JS files, CSS, and so on.
First, install BrowserSync using NPM:
npm install -g browser-sync
Assuming a node running locally with HTTP API on port 15672
, start
a BrowserSync proxy like so:
cd deps/rabbitmq_management/priv/www
browser-sync start --proxy localhost:15672 --serverStatic . --files .
BrowserSync will automatically open a browser window for you to use. The window will automatically refresh when one of the static (templates, JS, CSS) files change.
All HTTP requests that BrowserSync does not know how to handle will be proxied to
the HTTP API at localhost:15672
.
The RabbitMQ CLI uses the standard Elixir code formatter. To ensure correct code formatting of the CLI:
cd deps/rabbitmq_cli
mix format
Running make
will validate the CLI formatting and issue any necessary warnings. Alternatively, run the format checker in the deps/rabbitmq_cli
directory:
mix format --check-formatted
See CODE_OF_CONDUCT.md.
If you want to contribute a non-trivial change, please submit a signed copy of our Contributor Agreement around the time you submit your pull request. This will make it much easier (in some cases, possible) for the RabbitMQ team at Pivotal to merge your contribution.
If something isn't clear, feel free to ask on our mailing list and community Slack.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。