File tree Expand file tree Collapse file tree 1 file changed +27
-3
lines changed Expand file tree Collapse file tree 1 file changed +27
-3
lines changed Original file line number Diff line number Diff line change @@ -55,21 +55,45 @@ defmodule Mix.Tasks.Run do
55
55
Enum . each opts , fn ( { key , value } ) ->
56
56
case key do
57
57
:parallel_require ->
58
- value |> filter_patterns |> Kernel.ParallelRequire . files
58
+ case filter_patterns ( value ) do
59
+ [ ] ->
60
+ report_error ( "parallel-require: No files matched pattern #{ value } " )
61
+
62
+ filtered ->
63
+ Kernel.ParallelRequire . files ( filtered )
64
+ end
65
+
59
66
:require ->
60
- value |> filter_patterns |> Enum . each & Code . require_file ( & 1 )
67
+ case filter_patterns ( value ) do
68
+ [ ] ->
69
+ report_error ( "require: No files matched pattern #{ value } " )
70
+
71
+ filtered ->
72
+ Enum . each ( filtered , & Code . require_file ( & 1 ) )
73
+ end
74
+
61
75
:eval ->
62
76
Code . eval_string ( value )
63
77
_ ->
64
78
:ok
65
79
end
66
80
end
67
81
68
- if file , do: Code . require_file ( file )
82
+ if file do
83
+ if File . regular? ( file ) do
84
+ Code . require_file ( file )
85
+ else
86
+ report_error ( "No such file: #{ file } " )
87
+ end
88
+ end
69
89
if opts [ :no_halt ] , do: :timer . sleep ( :infinity )
70
90
end
71
91
72
92
defp filter_patterns ( pattern ) do
73
93
Enum . filter ( Enum . uniq ( Path . wildcard ( pattern ) ) , & File . regular? ( & 1 ) )
74
94
end
95
+
96
+ defp report_error ( msg ) do
97
+ raise Mix.Error , message: msg
98
+ end
75
99
end
You can’t perform that action at this time.
0 commit comments