Как поделиться библиотеками в нескольких приложениях, используя арматуру?

У меня есть такая структура проекта:

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 для этого?

0 ответов

Другие вопросы по тегам