@@ -209,7 +209,9 @@ defmodule Igniter.Util.Install do
209209 end
210210
211211 def get_deps! ( igniter , opts ) do
212- case System . cmd ( "mix" , [ "deps.get" ] , stderr_to_stdout: true ) do
212+ case Igniter.Util.Loading . with_spinner ( "fetching deps" , fn ->
213+ raising_cmd! ( "mix" , [ "deps.get" ] , stderr_to_stdout: true )
214+ end ) do
213215 { _output , 0 } ->
214216 Igniter.Util.Loading . with_spinner (
215217 opts [ :operation ] || "building deps" ,
@@ -220,14 +222,14 @@ defmodule Igniter.Util.Install do
220222 igniter
221223
222224 [ :all ] ->
223- System . cmd ( "mix" , [ "deps.update" , "--all" | opts [ :update_deps_args ] || [ ] ] ,
225+ raising_cmd! ( "mix" , [ "deps.update" , "--all" | opts [ :update_deps_args ] || [ ] ] ,
224226 stderr_to_stdout: true
225227 )
226228
227229 % { igniter | rewrite: Rewrite . drop ( igniter . rewrite , [ "mix.lock" ] ) }
228230
229231 to_update ->
230- System . cmd (
232+ raising_cmd! (
231233 "mix" ,
232234 [ "deps.update" | to_update ] ++ ( opts [ :update_deps_args ] || [ ] ) ,
233235 stderr_to_stdout: true
@@ -251,8 +253,8 @@ defmodule Igniter.Util.Install do
251253
252254 igniter =
253255 if Keyword . get ( opts , :compile_deps? , true ) do
254- System . cmd ( "mix" , [ "deps.get" ] , stderr_to_stdout: true )
255- System . cmd ( "mix" , [ "deps.compile" ] , stderr_to_stdout: true )
256+ raising_cmd! ( "mix" , [ "deps.get" ] , stderr_to_stdout: true )
257+ raising_cmd! ( "mix" , [ "deps.compile" ] , stderr_to_stdout: true )
256258
257259 % { igniter | rewrite: Rewrite . drop ( igniter . rewrite , [ "mix.lock" ] ) }
258260 else
@@ -292,6 +294,22 @@ defmodule Igniter.Util.Install do
292294 end
293295 end
294296
297+ defp raising_cmd! ( cmd , args , opts ) do
298+ case System . cmd ( cmd , args , opts ) do
299+ { output , 0 } ->
300+ { output , 0 }
301+
302+ { output , n } ->
303+ raise """
304+ #{ cmd } #{ Enum . join ( args , " " ) } exited with status: #{ n }
305+
306+ Output:
307+
308+ #{ output }
309+ """
310+ end
311+ end
312+
295313 defp handle_error ( output , _exit_code , igniter , opts ) do
296314 if String . contains? ( output , "Dependencies have diverged" ) do
297315 handle_diverged_dependencies ( output , igniter , opts )
0 commit comments