explaingit

rabbitmq/rabbitmq-public-umbrella

Analysis updated 2026-08-08 · repo last pushed 2020-11-03

32MakefileAudience · developerComplexity · 3/5DormantSetup · moderate

TLDR

A workspace tool that pulls together all RabbitMQ source code, the server, plugins, and client libraries, into one folder so developers can build, test, and modify multiple components together without managing them individually.

Mindmap

mindmap
  root((repo))
    What it does
      Downloads all sub-projects
      Organizes into deps folder
      Unified build workflow
    Key components
      rabbit main server
      amqp_client library
      rabbit_common shared code
    Use cases
      Build server from source
      Test plugins with broker
      Run full test suite
    Audience
      RabbitMQ contributors
      Plugin developers
    Practical notes
      Tests take up to two hours
      Check snapshot builds first

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build and run the RabbitMQ server from source to test changes across multiple components at once.

USE CASE 2

Test how a custom plugin interacts with the core broker using a unified development workflow.

USE CASE 3

Run the full RabbitMQ test suite after making changes to verify nothing is broken.

USE CASE 4

Develop and test multiple RabbitMQ plugins simultaneously without managing separate repositories.

What is it built with?

ErlangMakefile

How does it compare?

rabbitmq/rabbitmq-public-umbrelladipodidae/resumeruanyf/notes
Stars322522
LanguageMakefileMakefileMakefile
Last pushed2020-11-032026-06-07
MaintenanceDormantMaintained
Setup difficultymoderatemoderateeasy
Complexity3/52/51/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Erlang to be installed and familiarity with building Erlang projects from source.

No license information is provided in the repository documentation.

In plain English

RabbitMQ Public Umbrella is a convenience tool for developers who work on RabbitMQ, the popular messaging system that lets different applications communicate with each other. Rather than juggling the many separate pieces that make up RabbitMQ, the core broker, various plugins, client libraries, this repository pulls everything into one place so you can work on multiple components together without managing them individually. The repository is essentially a workspace organizer. When you first set it up, a single command downloads all the related sub-projects into a folder called deps. Each sub-project sits in its own directory with a name that roughly describes what it does. For example, rabbit is the main server, amqp_client is an Erlang-based client library, and rabbit_common is shared code used across multiple pieces. From there, you can build and run the server from source, test individual plugins, or start the broker with specific plugins enabled, all using straightforward build commands. This tool is aimed at people contributing to RabbitMQ itself or building custom plugins for it. If you're a developer who needs to test how a new plugin interacts with the core broker, or you want to run the server's full test suite after making changes, this setup gives you a unified workflow. The README notes that it's no longer required if you're only working on a single plugin, that can be done independently now, but the umbrella remains useful for anyone touching multiple parts of the project at once. One practical detail worth noting: running the full server test suite can take up to two hours depending on your hardware, though a faster subset of essential tests is available. The README also suggests checking whether a snapshot build already exists before going through the effort of building a full distribution from source, since merged changes typically get published as snapshots within minutes to hours.

Copy-paste prompts

Prompt 1
Help me set up the RabbitMQ Public Umbrella workspace on my machine. I have Erlang installed, walk me through cloning the repo, running the setup command, and building the server from source.
Prompt 2
I want to develop a custom RabbitMQ plugin using the umbrella workspace. Guide me through creating a new plugin project, placing it in the deps folder, and testing it with the running broker.
Prompt 3
I cloned the RabbitMQ Public Umbrella and want to run the test suite. Compare the full test suite versus the fast essential subset, and help me decide which to use based on what I changed.
Prompt 4
Show me how to check if a RabbitMQ snapshot build already exists online before I spend time building a full distribution from source using the umbrella workspace.

Frequently asked questions

What is rabbitmq-public-umbrella?

A workspace tool that pulls together all RabbitMQ source code, the server, plugins, and client libraries, into one folder so developers can build, test, and modify multiple components together without managing them individually.

What language is rabbitmq-public-umbrella written in?

Mainly Makefile. The stack also includes Erlang, Makefile.

Is rabbitmq-public-umbrella actively maintained?

Dormant — no commits in 2+ years (last push 2020-11-03).

What license does rabbitmq-public-umbrella use?

No license information is provided in the repository documentation.

How hard is rabbitmq-public-umbrella to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is rabbitmq-public-umbrella for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.