|
1 | 1 | @echo off
|
| 2 | +SETLOCAL enabledelayedexpansion |
2 | 3 | set argc=0
|
3 | 4 | for %%x in (%*) do set /A argc+=1
|
4 | 5 | if %argc%== 0 (
|
@@ -46,81 +47,31 @@ set beforeExtra=
|
46 | 47 |
|
47 | 48 | rem Recursive loop called for each parameter that parses the cmd line parameters
|
48 | 49 | :startloop
|
49 |
| -set par="%1" |
| 50 | +set par=%1 |
50 | 51 | shift
|
51 | 52 | if "%par%"=="" (
|
52 | 53 | rem if no parameters defined
|
53 |
| - goto :expand_erl_libs |
| 54 | + goto :run |
54 | 55 | )
|
55 | 56 | 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 |
| -) |
| 57 | +IF NOT "%par%"=="%par:--detached=%" (Set parsErlang=%parsErlang% -detached) |
| 58 | +IF NOT "%par%"=="%par:--hidden=%" (Set parsErlang=%parsErlang% -hidden) |
| 59 | +IF NOT "%par%"=="%par:--cookie=%" (Set parsErlang=%parsErlang% -setcookie %1 && shift) |
| 60 | +IF NOT "%par%"=="%par:--sname=%" (Set parsErlang=%parsErlang% -sname %1 && shift) |
| 61 | +IF NOT "%par%"=="%par:--name=%" (Set parsErlang=%parsErlang% -name %1 && shift) |
| 62 | +IF NOT "%par%"=="%par:--erl=%" (Set beforeExtra=%beforeExtra% %~1 && shift) |
84 | 63 | 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 |
| -) |
| 64 | +rem Note: we don't have to do anything with options that don't take an argument |
| 65 | +IF NOT "%par%"=="%par:-e=%" (shift) |
| 66 | +IF NOT "%par%"=="%par:-r=%" (shift) |
| 67 | +IF NOT "%par%"=="%par:-pr=%" (shift) |
| 68 | +IF NOT "%par%"=="%par:-pa=%" (shift) |
| 69 | +IF NOT "%par%"=="%par:-pz=%" (shift) |
| 70 | +IF NOT "%par%"=="%par:--app=%" (shift) |
| 71 | +IF NOT "%par%"=="%par:--remsh=%" (shift) |
| 72 | +goto:startloop |
| 73 | + |
116 | 74 | rem ******* assume all pre-params are parsed ********************
|
117 |
| -:expand_erl_libs |
118 |
| -rem ******* expand all ebin paths as Windows does not support the ..\*\ebin wildcard ******************** |
119 |
| -SETLOCAL enabledelayedexpansion |
120 |
| -set ext_libs= |
121 |
| -for /d %%d in ("%originPath%..\lib\*.") do ( |
122 |
| - set ext_libs=!ext_libs! -pa "%%~fd\ebin" |
123 |
| -) |
124 |
| -SETLOCAL disabledelayedexpansion |
125 | 75 | :run
|
126 |
| -erl %ext_libs% -noshell %ELIXIR_ERL_OPTS% %parsErlang% -s elixir start_cli %beforeExtra% -extra %* |
| 76 | +erl -env ERL_LIBS %ERL_LIBS%;"%originPath%\..\lib" -noshell %ELIXIR_ERL_OPTS% %parsErlang% -s elixir start_cli %beforeExtra% -extra %* |
| 77 | + |
0 commit comments