Rebar3 is a build tool for creating, developing and releasing Erlang libraries, applications and systems. It applies standard Erlang/OTP project conventions and provides a repeatable workflow for compiling source code, managing dependencies, running tests and producing deployable releases.
The software manages build artefacts, library paths and project dependencies automatically. Dependencies can be retrieved from source repositories, local directories or packages published through Hex, with lock files used to ensure consistent builds across different development environments.
Rebar3 is distributed as a self-contained Erlang script and can be embedded directly within a project. Its functionality can be extended through plugins, while built-in commands cover code analysis, documentation generation, test execution, code coverage, release creation and interactive development.
This is free and open source software.
Key Features
- Creates Erlang libraries, applications and release projects from templates.
- Compiles projects and retrieves their dependencies automatically.
- Supports dependencies from Hex, source repositories and local directories.
- Locks dependency versions to provide repeatable builds.
- Provides separate build profiles for development, testing and production.
- Runs EUnit and Common Test test suites.
- Generates code coverage reports.
- Integrates with Dialyzer for static analysis.
- Generates project documentation with EDoc.
- Builds self-contained Erlang releases using relx.
- Packages releases as deployable tar archives.
- Offers an interactive Erlang shell with project applications available.
- Supports command composition and automatic command dependencies.
- Extensible through a plugin system.
Website: github.com/erlang/rebar3
Support:
Developer: Rebar3 team and contributors
License: Apache License 2.0
Rebar3 is written in Erlang. Learn Erlang with our recommended free books and free tutorials.
Related Software
| Build Systems | |
|---|---|
| Cargo | Rust package manager |
| gulp | Toolkit to automate & enhance your workflow |
| Bazel | Build and test your multi-language, multi-platform projects |
| Apache Maven | Build automation tool used primarily for Java projects |
| Gradle | Build tool with a focus on build automation and support for multi-language |
| Meson | Next-generation build system |
| CMake | Family of tools designed to build, test and package software |
| Buck2 | Encourages the creation of small, reusable modules |
| Leiningen | Automating Clojure projects |
| Grunt | JavaScript Task Runner |
| Ninja | Small build system with a focus on speed |
| xmake | Cross-platform build utility based on Lua |
| SCons | Software construction tool |
| Pants | Scalable build system for monorepos |
| PHing | Build system based on Apache Ant |
| Rake | make-like build utility for Ruby |
| Apache Ant | Tool for automating software build processes |
| Cabal | Common Architecture for Building Applications and Libraries |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Please read our Comment Policy before commenting.