Как поделиться библиотеками в нескольких приложениях, используя арматуру?
У меня есть такая структура проекта:
ROOT/
apps/
common_lib_1/
src/*.erl
include/*.hrl
common_lib_2/
src/*.erl
include/*.hrl
common_lib_3/
src/*.erl
include/*.hrl
login_server/
src/*.erl
game_server
src/*.erl
rel/
Я хочу раздать game_server
а также login_server
, game_server
зависит от common_lib_1
а также common_lib_2
, login_server
зависит от common_lib_1
а также common_lib_3
,
Если выполнить rebar create-node nodeid=xxx
в rel/game_server
а также rel/login_server
, когда я создаю распространять с помощью rebar generate
будет создано много дублированных файлов.
Я хочу распространять их с чистой структурой, например так:
my_game/
bin/
game_server_region_1 # startup script of game server with region 1
game_server_region_2 # startup script of game server with region 2
login_server # startup script of login server
... # other common files
erts-5.10.3/
bin/
lib/
stdlib-1.19.3/
sasl-2.3.3/
common_lib_1-1.0.0/
common_lib_2-1.0.0/
common_lib_3-1.0.0/
game_server-1.0.0/
login_server-1.0.0/
... # other shared libraries
releases/
1.0.0/
game_server.boot
game_server.rel
game_server.script
login_server.boot
login_server.rel
login_server.script
game_server_region_1_vm.args
game_server_region_1_sys.config
game_server_region_1_vm.args
game_server_region_1_sys.config
login_server_vm.args
login_server_sys.config
RELEASES
start_erl.data
Я ожидаю, что все приложения разделяют библиотеки, у них есть собственный скрипт запуска, vm и sys config.
Как написать чистый reltool.config для этого?