Skip to content

Commit 797546d

Browse files
committed
Propagate download errors instead of falling back to a misleading file-not-found
1 parent fbfab22 commit 797546d

1 file changed

Lines changed: 13 additions & 8 deletions

File tree

lib/mix/tasks/compile.elixir_make.ex

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -231,16 +231,21 @@ defmodule Mix.Tasks.Compile.ElixirMake do
231231
{:ok, target, nif_version_to_use, url} ->
232232
archived_fullpath = Artefact.archive_path(config, target, nif_version_to_use)
233233

234-
unless File.exists?(archived_fullpath) do
235-
Mix.shell().info("Downloading precompiled NIF to #{archived_fullpath}")
236-
237-
with {:ok, archived_data} <- Artefact.download(config, url) do
238-
File.mkdir_p(Path.dirname(archived_fullpath))
239-
File.write(archived_fullpath, archived_data)
234+
download =
235+
if File.exists?(archived_fullpath) do
236+
:ok
237+
else
238+
Mix.shell().info("Downloading precompiled NIF to #{archived_fullpath}")
239+
240+
with {:ok, archived_data} <- Artefact.download(config, url) do
241+
File.mkdir_p(Path.dirname(archived_fullpath))
242+
File.write(archived_fullpath, archived_data)
243+
end
240244
end
241-
end
242245

243-
Artefact.verify_and_decompress(archived_fullpath, app_priv)
246+
with :ok <- download do
247+
Artefact.verify_and_decompress(archived_fullpath, app_priv)
248+
end
244249

245250
{:error, msg} ->
246251
{:error, msg}

0 commit comments

Comments
 (0)