Shaker - CLI tool, that automates migrations from Rebar3
into Mix
for Erlang projects of any kind. It supports:
- Applications
- Libraries
- Escripts
- Releases (not yet)
- Erlang test-lint tools support (
eunit
,ct
,elvis
) - Any other tools you can imagine as an Erlang project
While Mix tools is perfect for both Erlang
and Elixir
projects, it's not so much distributed inside Erlang
's world. One of the main reasons - severity of migration already existing projects from one package manager into another.
This process can and must be automated. Shaker tries to eliminate this gap.
Project is made in a form of a mix archive
, which can be simply installed from Hex:
$ mix archive.install hex shaker
This installation brings to a user a new mix
command:
$ mix rebar2mix
This command must be executed inside any valid Rebar3 project, with next effects:
- An interactive process of
mix project
generation starts - During the process user can be prompted to choose different options and configurations
- After the process is finished -
mix project
artifacts are created in the manner, when the project itself is ready to run inside amix
package management tool.
For example
$ mix deps.get
$ iex -S mix
$ mix test
$ mix compile
$ mix deps.get
will be available to run as in a standard mix
project.
You can also run other task to generate config.exs
file from sys.config
$ mix sys2config
- Improve the code quality - making refactoring, adding more tests, docs and specs
- Implementing more and more uncovered
Rebar3
features, until full coverage. - Relx
sys.config
detection- Overrides handling
Project is still in an active development phase so feel free to submit any Issues or Pull requests!