Interactive semantic versioning for Elixir packages.
Eliver is an Elixir clone of semvergen
Eliver...
- bumps the version in
mix.exs
- prompts the user for changelog entries and updates
CHANGELOG.md
- commits these changes
- creates a tag
- pushes to origin
- Add
eliver
to your list of dependencies inmix.exs
:
def deps do
[{:eliver, "~> 2.0.0", only: :dev}]
end
- Create a VERSION file with the initial version in the root of the project
- In
mix.exs
, read the version fromVERSION
version: String.trim(File.read!("VERSION")),
$ mix eliver.bump
In umbrella apps there are two supported use-cases:
- A single version file is provided, with all sub-apps sharing the same version number.
- Sub-app versions are managed seperately. In this case, each app has a seperate
VERSION
andCHANGELOG.md
file.
For option 1, eliver is used in the same manner as for normal Elixir apps.
For option 2, eliver provides a --multi
flag.
$ mix eliver.bump --multi
Please do.