Skip to content

Instantly share code, notes, and snippets.

@Vagabond
Created February 8, 2018 19:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Vagabond/459e3c5bc0a1e2e8c054ab9a31325d2e to your computer and use it in GitHub Desktop.
Save Vagabond/459e3c5bc0a1e2e8c054ab9a31325d2e to your computer and use it in GitHub Desktop.
RFC for modernizing Riak repos for OTP20/rebar3

Here's my proposal on the general steps to modernize Riak's repos to work with OTP20 and rebar3:

  • Replace bundled copy of rebar with a chosen version of rebar3
  • Add any required rebar3 plugins (eqc, port compiler, etc)
  • Rework any EQC tests to work with the rebar3 EQC plugin and not be eunit tests
  • Remove tools.mk and Makefile if present
  • Add a generic Makefile which has targets for compile/dialyzer/eunit/common_test/xref/coverage/eqc and a 'check' meta-target
  • We can also add Travis/coveralls support (example: helium/erlang-libp2p#33 (comment))
  • Commit the rebar3 rebar.lock file - this replaces the old lock-deps rebar2 plugin

The reason for bundling rebar3 and a Makefile are so that people unfamiliar with the Erlang ecosystem can use the familiar 'just run make' approach to building software. Bundling rebar3 is because rebar is still not consistently packaged for operating systems or bundled with OTP and so we can't rely on any local version being present or correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment