@@ -209,7 +209,9 @@ defmodule Igniter.Util.Install do
209
209
end
210
210
211
211
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
213
215
{ _output , 0 } ->
214
216
Igniter.Util.Loading . with_spinner (
215
217
opts [ :operation ] || "building deps" ,
@@ -220,14 +222,14 @@ defmodule Igniter.Util.Install do
220
222
igniter
221
223
222
224
[ :all ] ->
223
- System . cmd ( "mix" , [ "deps.update" , "--all" | opts [ :update_deps_args ] || [ ] ] ,
225
+ raising_cmd! ( "mix" , [ "deps.update" , "--all" | opts [ :update_deps_args ] || [ ] ] ,
224
226
stderr_to_stdout: true
225
227
)
226
228
227
229
% { igniter | rewrite: Rewrite . drop ( igniter . rewrite , [ "mix.lock" ] ) }
228
230
229
231
to_update ->
230
- System . cmd (
232
+ raising_cmd! (
231
233
"mix" ,
232
234
[ "deps.update" | to_update ] ++ ( opts [ :update_deps_args ] || [ ] ) ,
233
235
stderr_to_stdout: true
@@ -251,8 +253,8 @@ defmodule Igniter.Util.Install do
251
253
252
254
igniter =
253
255
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 )
256
258
257
259
% { igniter | rewrite: Rewrite . drop ( igniter . rewrite , [ "mix.lock" ] ) }
258
260
else
@@ -292,6 +294,22 @@ defmodule Igniter.Util.Install do
292
294
end
293
295
end
294
296
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
+
295
313
defp handle_error ( output , _exit_code , igniter , opts ) do
296
314
if String . contains? ( output , "Dependencies have diverged" ) do
297
315
handle_diverged_dependencies ( output , igniter , opts )
0 commit comments