plugins load for windows

This commit is contained in:
huangdan 2015-08-24 11:33:16 +08:00
parent 0894d4f8e4
commit 307bce2e1d
2 changed files with 62 additions and 41 deletions

View File

@ -1,4 +1,6 @@
@echo off
@setlocal @setlocal
@setlocal enabledelayedexpansion
@set node_name=emqttd @set node_name=emqttd
@ -69,7 +71,16 @@
@goto :EOF @goto :EOF
:console :console
@start "%node_name% console" %werl% -boot "%node_boot_script%" -config "%sys_config%" -args_file "%vm_args%" -sname %node_name% set dest_path=%~dp0
cd /d !dest_path!..\plugins
set current_path=%cd%
set plugins=
for /d %%P in (*) do (
set "plugins=!plugins!!current_path!\%%P\ebin "
)
cd /d %node_root%
@start "%node_name% console" %werl% -boot "%node_boot_script%" -config "%sys_config%" -args_file "%vm_args%" -sname %node_name% -pa %plugins%
@goto :EOF @goto :EOF
:query :query

View File

@ -1,40 +1,50 @@
@setlocal @setlocal
@echo off
@rem Parse arguments. erlsrv.exe prepends erl arguments prior to first ++. @setlocal enabledelayedexpansion
@rem Other args are position dependent.
@set args="%*" @rem Parse arguments. erlsrv.exe prepends erl arguments prior to first ++.
@for /F "delims=++ tokens=1,2,3" %%I in (%args%) do @( @rem Other args are position dependent.
@set erl_args=%%I @set args="%*"
@call :set_trim node_name %%J @for /F "delims=++ tokens=1,2,3" %%I in (%args%) do @(
@rem Trim spaces from the left of %%K (node_root), which may have spaces inside @set erl_args=%%I
@for /f "tokens=* delims= " %%a in ("%%K") do @set node_root=%%a @call :set_trim node_name %%J
) @rem Trim spaces from the left of %%K (node_root), which may have spaces inside
@for /f "tokens=* delims= " %%a in ("%%K") do @set node_root=%%a
@set releases_dir=%node_root%\releases )
@rem parse ERTS version and release version from start_erl.dat @set releases_dir=%node_root%\releases
@for /F "usebackq tokens=1,2" %%I in ("%releases_dir%\start_erl.data") do @(
@call :set_trim erts_version %%I @rem parse ERTS version and release version from start_erl.dat
@call :set_trim release_version %%J @for /F "usebackq tokens=1,2" %%I in ("%releases_dir%\start_erl.data") do @(
) @call :set_trim erts_version %%I
@call :set_trim release_version %%J
@set erl_exe="%node_root%\erts-%erts_version%\bin\erl.exe" )
@set boot_file="%releases_dir%\%release_version%\%node_name%"
@set erl_exe="%node_root%\erts-%erts_version%\bin\erl.exe"
@if exist "%releases_dir%\%release_version%\sys.config" ( @set boot_file="%releases_dir%\%release_version%\%node_name%"
@set app_config="%releases_dir%\%release_version%\sys.config"
) else ( @if exist "%releases_dir%\%release_version%\sys.config" (
@set app_config="%node_root%\etc\emqttd.config" @set app_config="%releases_dir%\%release_version%\sys.config"
) ) else (
@set app_config="%node_root%\etc\emqttd.config"
@if exist "%releases_dir%\%release_version%\vm.args" ( )
@set vm_args="%releases_dir%\%release_version%\vm.args"
) else ( @if exist "%releases_dir%\%release_version%\vm.args" (
@set vm_args="%node_root%\etc\vm.args" @set vm_args="%releases_dir%\%release_version%\vm.args"
) ) else (
@set vm_args="%node_root%\etc\vm.args"
@%erl_exe% %erl_args% -boot %boot_file% -config %app_config% -args_file %vm_args% )
:set_trim set dest_path=%~dp0
@set %1=%2 cd /d !dest_path!..\plugins
@goto :EOF set current_path=%cd%
set plugins=
for /d %%P in (*) do (
set "plugins=!plugins!!current_path!\%%P\ebin "
)
cd /d %node_root%
@%erl_exe% %erl_args% -boot %boot_file% -config %app_config% -args_file %vm_args% -pa %plugins%
:set_trim
@set %1=%2
@goto :EOF