mirror of
https://github.com/correl/rebar.git
synced 2024-12-18 03:00:17 +00:00
cb5056b2e3
app.config has been a long standing erroneous file in rebar. Erlang/OTP documentation suggests a sys.config file instead. This file is stored in the releases/VSN directory. This does a few things but most importantly it ensures your config (contained in the application environment) survives a hot upgrade. It also has the advantage of allowing the configuration of the application to be versioned along side the application code. This patch flips rebar to use sys.config rather than app.config. Additionally it makes this flip to vm.args as well, making them versioned just like sys.config. This patch also includes runner script changes to support the old etc/app.config config file location and support for Windows. Thanks to mokele for the initial work and kick in the pants to make this finially happen.
39 lines
1.1 KiB
Batchfile
39 lines
1.1 KiB
Batchfile
@setlocal
|
|
|
|
@rem Parse arguments. erlsrv.exe prepends erl arguments prior to first ++.
|
|
@rem Other args are position dependent.
|
|
@set args="%*"
|
|
@for /F "delims=++ tokens=1,2,3" %%I in (%args%) do @(
|
|
@call :set_trim erl_args %%I
|
|
@call :set_trim node_name %%J
|
|
@call :set_trim node_root %%K
|
|
)
|
|
|
|
@set releases_dir=%node_root%\releases
|
|
|
|
@rem parse ERTS version and release version from start_erl.dat
|
|
@for /F "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%
|
|
|
|
@if exist %releases_dir%\%release_version%\sys.config (
|
|
@set app_config=%releases_dir%\%release_version%\sys.config
|
|
) @else (
|
|
@set app_config=%node_root%\etc\app.config
|
|
)
|
|
|
|
@if exist %releases_dir%\%release_version%\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 %1=%2
|
|
@goto :EOF
|