diff --git a/README.md b/README.md index 6c6ce03a..bc578944 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Rebar3 -[![Build Status](https://github.com/erlang/rebar3/workflows/Common%20Test/badge.svg)](https://github.com/erlang/rebar3/actions?query=branch%3Amaster+workflow%3A"Common+Test") [![Erlang Versions](https://img.shields.io/badge/Supported%20Erlang%2FOTP-19.0%20to%2023.0-blue)](http://www.erlang.org) +[![Build Status](https://github.com/erlang/rebar3/workflows/Common%20Test/badge.svg)](https://github.com/erlang/rebar3/actions?query=branch%3Amaster+workflow%3A"Common+Test") [![Erlang Versions](https://img.shields.io/badge/Supported%20Erlang%2FOTP-19.0%20to%2023.1-blue)](http://www.erlang.org) 1. [What is Rebar3?](#what-is-rebar3) 2. [Why Rebar3?](#why-rebar3) @@ -24,13 +24,13 @@ Rebar3 will: - handle build artifacts, paths, and libraries such that standard development tools can be used without a headache; - adapt to projects of all sizes on almost any platform; -- treat [documentation](https://www.rebar3.org/docs/) as a feature, +- treat [documentation](https://rebar3.org/docs/) as a feature, and errors or lack of documentation as a bug. Rebar3 is also a self-contained Erlang script. It is easy to distribute or embed directly in a project. Tasks or behaviours can be modified or expanded -with a [plugin system](https://www.rebar3.org/docs/plugins/#available-plugins) -[flexible enough](https://www.rebar3.org/docs/plugins) that even other languages +with a [plugin system](https://rebar3.org/docs/configuration/plugins) +flexible enough that even other languages on the Erlang VM will use it as a build tool. ## Why Rebar3 @@ -53,7 +53,7 @@ best experience you can get. ## Getting Started -A [getting started guide is maintained on the official documentation website](https://www.rebar3.org/docs/getting-started), +A [getting started guide is maintained on the official documentation website](https://rebar3.org/docs/getting-started), but installing rebar3 can be done by any of the ways described below Latest stable compiled version: @@ -98,7 +98,7 @@ Do note that if you are planning to work with multiple Erlang versions on the sa ## Documentation -Rebar3 documentation is maintained on [https://www.rebar3.org/docs](https://www.rebar3.org/docs) +Rebar3 documentation is maintained on [https://rebar3.org/docs](https://rebar3.org/docs) ## Features @@ -114,8 +114,8 @@ others via the plugin ecosystem: | Clean up artifacts | Remove the compiled beam files from a project with `rebar3 clean` or just remove the `_build` directory to remove *all* compilation artifacts | | Code Coverage | Various commands can be instrumented to accumulate code coverage data (such as `eunit` or `ct`). Reports can be generated with `rebar3 cover` | | Common Test | The test framework can be run by calling `rebar3 ct` | -| Dependencies | Rebar3 maintains local copies of dependencies on a per-project basis. They are fetched deterministically, can be locked, upgraded, fetched from source, packages, or from local directories. See [Dependencies on the documentation website](https://www.rebar3.org/docs/dependencies). Call `rebar3 tree` to show the whole dependency tree. | -| Documentation | Print help for rebar3 itself (`rebar3 help`) or for a specific task (`rebar3 help `). Full reference at [www.rebar3.org](https://www.rebar3.org/docs). | +| Dependencies | Rebar3 maintains local copies of dependencies on a per-project basis. They are fetched deterministically, can be locked, upgraded, fetched from source, packages, or from local directories. See [Dependencies on the documentation website](https://rebar3.org/docs/configuration/dependencies/). Call `rebar3 tree` to show the whole dependency tree. | +| Documentation | Print help for rebar3 itself (`rebar3 help`) or for a specific task (`rebar3 help `). Full reference at [rebar3.org](https://rebar3.org/docs). | | Dialyzer | Run the Dialyzer analyzer on the project with `rebar3 dialyzer`. Base PLTs for each version of the language will be cached and reused for faster analysis | | Edoc | Generate documentation using edoc with `rebar3 edoc` | | Escript generation | Rebar3 can be used to generate [escripts](http://www.erlang.org/doc/man/escript.html) providing an easy way to run all your applications on a system where Erlang is installed | @@ -123,27 +123,26 @@ others via the plugin ecosystem: | Locked dependencies | Dependencies are going to be automatically locked to ensure repeatable builds. Versions can be changed with `rebar3 upgrade` or `rebar3 upgrade `, or locks can be released altogether with `rebar3 unlock`. | | Packages | [Hex packages](https://hex.pm) can be listed with `rebar3 pkgs`. They can be used as dependencies, will be cached locally for faster usage, and a local index will be used and updated with `rebar3 update`. | | Path | While paths are managed automatically, you can print paths to the current build directories with `rebar3 path`. | -| Plugins | Rebar3 can be fully extended with [plugins](https://www.rebar3.org/docs/using-available-plugins). List or upgrade plugins by using the plugin namespace (`rebar3 plugins`). | -| Profiles | Rebar3 can have subconfiguration options for different profiles, such as `test` or `prod`. These allow specific dependencies or compile options to be used in specific contexts. See [Profiles](https://www.rebar3.org/docs/profiles) in the docs. | -| Releases | Rebar3 supports [building releases](https://www.rebar3.org/docs/releases) with the `relx` tool, providing a way to ship fully self-contained Erlang systems. Release update scripts for live code updates can also be generated. | +| Plugins | Rebar3 can be fully extended with [plugins](https://rebar3.org/docs/configuration/plugins/). List or upgrade plugins by using the plugin namespace (`rebar3 plugins`). | +| Profiles | Rebar3 can have subconfiguration options for different profiles, such as `test` or `prod`. These allow specific dependencies or compile options to be used in specific contexts. See [Profiles](https://rebar3.org/docs/configuration/profiles) in the docs. | +| Releases | Rebar3 supports [building releases](https://rebar3.org/docs/deployment/releases) with the `relx` tool, providing a way to ship fully self-contained Erlang systems. Release update scripts for live code updates can also be generated. | | Shell | A full shell with your applications available can be started with `rebar3 shell`. From there, call tasks as `r3:do(compile)` to automatically recompile and reload the code without interruption | | Tarballs | Releases can be packaged into tarballs ready to be deployed. | -| Templates | Configurable templates ship out of the box (try `rebar3 new` for a list or `rebar3 new help