[erlang-questions] [ANN] Rebar3 3.7.0

Fred Hebert mononcqc@REDACTED
Fri Nov 23 20:07:19 CET 2018


Rebar3 3.7.0 is out, and we have some amazing features to show you!

Thanks to work done by Tristan Sloughter (with some backing of the IEUG, 
which is wokring on a transition towards a big foundation with a name 
still up in the air), we've got some great stuff to announce:

- There's been a complete rework of how Hex packages and their indexes 
  are handled.  We now support the Hex v2 protocol,
  with their concept of private organisations. There is also added 
  support for layered hex indexes, allowing the usage of mirrors and 
  self-hosted indexes in a transparent manner within a project.

  Documentation: https://www.rebar3.org/v3/docs/configuration#section-hex-repos-and-indexes

  If you were using the rebar3_hex plugin, you'll need to upgrade it to 
  work with this new version.

- The local index cache is now built lazily, meaning Rebar3 should be 
  leaner in its usage of local storage and memory regarding hex, and 
  network lookups should be less frequent. This should help people 
  working towards hermetic builds as well

- There's been major rework around custom resource plugins and compilers 
  (old resources and plugins are still working, no worry). This has 
  allowed some real interesting stuff such as Benoit Chesneau's local 
  path dependencies plugin (https://github.com/benoitc/rebar3_path_deps)

  Documentation (resources): 
  https://www.rebar3.org/v3/docs/custom-dep-resources#section-resources-compatible-with-versions-370-and-above
  Documentation (compiler plugin): 
  https://www.rebar3.org/v3/docs/custom-compiler-modules

- Elixir dependencies are now supported through the rebar_mix plugin 
  (https://github.com/tsloughter/rebar_mix) thanks to these changes!

But as if that were not amazing enough, we've also got a few other 
features, including:

- The ability to only compile dependencies, which is useful for docker images
  (use the --deps_only or -d switches, as described in 
  http://erlware.org/rebar3-building-docker-images/)

- Added support for breakpoints to be added in tests (or other arbitrary 
  tasks) to let you debug them in rebar3's shell

  Documentation: 
  https://www.rebar3.org/v3/docs/using-breakpoints-to-debug-tests

- Support for a REBAR_GIT_CLONE_OPTIONS environment variable which lets people set
  up git caching of repositories for faster fetches across projects when 
  calling it with values such as:
  REBAR_GIT_CLONE_OPTIONS="--reference ~/.cache/repos.reference"

- Support alias commands with namespaces
  (declared as {Namespace, Cmd} and {Namespace, Cmd, Args} in the alias 
  option).

There is also a good bunch of nice bugfixes. You can get the full list 
at https://github.com/erlang/rebar3/releases/tag/3.7.0

Have a great week-end, and thanks to all the contributors who opened 
issues and submitted pull requests!

- Fred.



More information about the erlang-questions mailing list