summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Meadows-Jönsson <eric.meadows.jonsson@gmail.com>2018-10-05 23:09:29 +0200
committerEric Meadows-Jönsson <eric.meadows.jonsson@gmail.com>2018-10-05 23:10:04 +0200
commitdf61ccde0e9e9129ccec39c2c8b9767d0657580b (patch)
treefe3c8880b789df7e1c985cea4f656a16c874cb44
parente1e096ab2ed1b705926b3e05a397d3d1a40d2977 (diff)
downloadelixir-emj/unload-archives.tar.gz
Unload previous archive versions before buildingemj/unload-archives
-rw-r--r--lib/mix/lib/mix/tasks/archive.install.ex9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/mix/lib/mix/tasks/archive.install.ex b/lib/mix/lib/mix/tasks/archive.install.ex
index c48928008..c4df10889 100644
--- a/lib/mix/lib/mix/tasks/archive.install.ex
+++ b/lib/mix/lib/mix/tasks/archive.install.ex
@@ -113,8 +113,15 @@ defmodule Mix.Tasks.Archive.Install do
end
def build(_install_spec, _opts) do
+ src = Mix.Local.name_for(:archive, Mix.Project.config())
+ previous = find_previous_versions(src)
+
+ Enum.each(previous, fn path ->
+ Code.delete_path(Mix.Local.archive_ebin(path))
+ end)
+
Mix.Task.run("archive.build", [])
- Mix.Local.name_for(:archive, Mix.Project.config())
+ src
end
### Private helpers