Skip to content

Commit 37a1a23

Browse files
author
José Valim
committed
Merge pull request #1532 from derekmcloughlin/issue-1531
Issue 1531 - fix issue with slow batch files.
2 parents 15236c3 + b92099f commit 37a1a23

File tree

1 file changed

+18
-60
lines changed

1 file changed

+18
-60
lines changed

bin/elixir.bat

Lines changed: 18 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -46,73 +46,30 @@ set beforeExtra=
4646

4747
rem Recursive loop called for each parameter that parses the cmd line parameters
4848
:startloop
49-
set par="%1"
49+
set par=%1
5050
shift
5151
if "%par%"=="" (
5252
rem if no parameters defined
5353
goto :expand_erl_libs
5454
)
5555
rem ******* ERLANG PARAMETERS **********************
56-
for /f "usebackq" %%m in (`echo %par%^|findstr \--detached`) do (
57-
set parsErlang=%parsErlang% -detached
58-
goto:startloop
59-
)
60-
for /f "usebackq" %%m in (`echo %par%^|findstr \--hidden`) do (
61-
set parsErlang=%parsErlang% -hidden
62-
goto:startloop
63-
)
64-
for /f "usebackq" %%m in (`echo %par%^|findstr \--cookie`) do (
65-
set parsErlang=%parsErlang% -setcookie %1
66-
shift
67-
goto:startloop
68-
)
69-
for /f "usebackq" %%m in (`echo %par%^|findstr \--sname`) do (
70-
set parsErlang=%parsErlang% -sname %1
71-
shift
72-
goto:startloop
73-
)
74-
for /f "usebackq" %%m in (`echo %par%^|findstr \--name`) do (
75-
set parsErlang=%parsErlang% -name %1
76-
shift
77-
goto:startloop
78-
)
79-
for /f "usebackq" %%m in (`echo %par%^|findstr \--erl`) do (
80-
set beforeExtra=%beforeExtra% %~1
81-
shift
82-
goto:startloop
83-
)
56+
IF NOT "%par%"=="%par:--detached=%" (Set parsErlang=%parsErlang% -detached)
57+
IF NOT "%par%"=="%par:--hidden=%" (Set parsErlang=%parsErlang% -hidden)
58+
IF NOT "%par%"=="%par:--cookie=%" (Set parsErlang=%parsErlang% -setcookie %1 && shift)
59+
IF NOT "%par%"=="%par:--sname=%" (Set parsErlang=%parsErlang% -sname %1 && shift)
60+
IF NOT "%par%"=="%par:--name=%" (Set parsErlang=%parsErlang% -name %1 && shift)
61+
IF NOT "%par%"=="%par:--erl=%" (Set beforeExtra=%beforeExtra% %~1 && shift)
8462
rem ******* elixir parameters **********************
85-
for /f "usebackq" %%m in (`echo %par%^|findstr \--v`) do (
86-
goto:startloop
87-
)
88-
for /f "usebackq" %%m in (`echo %par%^|findstr \--compile`) do (
89-
goto:startloop
90-
)
91-
for /f "usebackq" %%m in (`echo %par%^|findstr \--no-halt`) do (
92-
goto:startloop
93-
)
94-
for /f "usebackq" %%m in (`echo %par%^|findstr \+iex`) do (
95-
goto:startloop
96-
)
97-
for /f "usebackq" %%m in (`echo %par%^|findstr \+compile`) do (
98-
goto:startloop
99-
)
100-
for /f "usebackq" %%m in (`echo %par%^|findstr \-[er]`) do (
101-
shift
102-
goto:startloop
103-
)
104-
for /f "usebackq" %%m in (`echo %par%^|findstr \-p[raz]`) do (
105-
shift
106-
goto:startloop
107-
)
108-
for /f "usebackq" %%m in (`echo %par%^|findstr \--app`) do (
109-
shift
110-
goto:startloop
111-
)
112-
for /f "usebackq" %%m in (`echo %par%^|findstr \--remsh`) do (
113-
shift
114-
goto:startloop
115-
)
63+
rem Note: we don't have to do anything with options that don't take an argument
64+
IF NOT "%par%"=="%par:-e=%" (shift)
65+
IF NOT "%par%"=="%par:-r=%" (shift)
66+
IF NOT "%par%"=="%par:-pr=%" (shift)
67+
IF NOT "%par%"=="%par:-pa=%" (shift)
68+
IF NOT "%par%"=="%par:-pz=%" (shift)
69+
IF NOT "%par%"=="%par:--app=%" (shift)
70+
IF NOT "%par%"=="%par:--remsh=%" (shift)
71+
goto:startloop
72+
11673
rem ******* assume all pre-params are parsed ********************
11774
:expand_erl_libs
11875
rem ******* expand all ebin paths as Windows does not support the ..\*\ebin wildcard ********************
@@ -124,3 +81,4 @@ for /d %%d in ("%originPath%..\lib\*.") do (
12481
SETLOCAL disabledelayedexpansion
12582
:run
12683
erl %ext_libs% -noshell %ELIXIR_ERL_OPTS% %parsErlang% -s elixir start_cli %beforeExtra% -extra %*
84+

0 commit comments

Comments
 (0)