deps.changelog
Find additions to top-level dependency's CHANGELOG files upon update and accumulate them in a new
deps.CHANGELOG.md
. Any task can be specified to run to perform the update.
Installation
The package is available in Hex and can be installed by adding
deps_changelog
to your list of dependencies in mix.exs
:
def deps do
[
{:deps_changelog, "~> 0.3", only: :dev, runtime: false}
]
end
Usage
Run mix deps.changelog deps.update [...]
instead of mix deps.update
. File deps.CHANGELOG.md
will be created
or updated when package updates happen.
Aliases
When using Igniter, you could add to your mix.exs
:
defp aliases do
[
update: [
# Isolated processes/Mix runners seem to work best when shuffling deps
"cmd mix deps.changelog --before",
"cmd mix deps.update igniter",
"cmd mix igniter.upgrade --all",
"cmd mix deps.changelog --after",
fn _args ->
Mix.shell().info(
"Run `mix igniter.apply_upgrades igniter:old_version:new_version` to finish igniter update!"
)
end
]
]
end
Note that you might need to Mix.Task.reenable("deps.changelog")
(or use rerun
) when bundling tasks within
a single Mix session.
Debugging
$ iex --dbg pry -S mix
iex> break! Mix.Tasks.Deps.Changelog.run/1
iex> break! Mix.Tasks.Deps.Changelog.after_update/2
iex> Mix.Task.run "deps.changelog", ["deps.update", "--all"]