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 shakerThis installation brings to a user a new mix command:
$ mix rebar2mixThis command must be executed inside any valid Rebar3 project, with next effects:
- An interactive process of
mix projectgeneration starts - During the process user can be prompted to choose different options and configurations
- After the process is finished -
mix projectartifacts are created in the manner, when the project itself is ready to run inside amixpackage management tool.
For example
$ mix deps.get
$ iex -S mix
$ mix test
$ mix compile
$ mix deps.getwill 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
Rebar3features, until full coverage. - Relx
sys.configdetection- Overrides handling
Project is still in an active development phase so feel free to submit any Issues or Pull requests!