75 lines
2.6 KiB
Erlang
75 lines
2.6 KiB
Erlang
{erl_opts, [debug_info, {i, "include"}]}.
|
|
|
|
{plugins, [
|
|
{rebar3_gpb_plugin, ".*", {git, "https://github.com/lrascao/rebar3_gpb_plugin.git", {tag, "2.23.8"}}}
|
|
]}.
|
|
|
|
% ======================
|
|
% 核心:强制指定 proto 路径 + 输出到你的 apps/sdlan
|
|
% ======================
|
|
{gpb_opts, [
|
|
{i, "proto"}, % proto 文件路径
|
|
{src_dirs, ["proto"]}, % 源码目录(必须)
|
|
{f, ["message.proto", "service.proto"]},
|
|
recursive, % 递归查找 proto 文件
|
|
{module_name_suffix, "_pb"}, % 生成模块后缀
|
|
{o_erl, "src/protobuf"}, % .erl 输出目录
|
|
{o_hrl, "include"}, % .hrl 输出目录
|
|
include_as_lib, % gpb.hrl 通过 -include_lib("gpb/include/gpb.hrl")
|
|
{strings_as_binaries, true}, % proto string → Erlang binary
|
|
type_specs, % 生成 type specs
|
|
report, % 编译报告
|
|
verbose % 打印详细信息
|
|
]}.
|
|
|
|
{provider_hooks, [
|
|
{pre, [
|
|
{compile, {protobuf, compile}},
|
|
{clean, {protobuf, clean}}
|
|
]}
|
|
]}.
|
|
|
|
{deps, [
|
|
{sync, ".*", {git, "https://github.com/rustyio/sync.git", {branch, "master"}}},
|
|
{jiffy, ".*", {git, "https://github.com/davisp/jiffy.git", {tag, "1.1.2"}}},
|
|
{cowboy, ".*", {git, "https://github.com/ninenines/cowboy.git", {tag, "2.10.0"}}},
|
|
{gun, ".*", {git, "https://github.com/ninenines/gun.git", {tag, "2.2.0"}}}
|
|
]}.
|
|
|
|
{relx, [{release, {efka, "0.1.0"},
|
|
[efka,
|
|
sasl]},
|
|
|
|
{mode, dev},
|
|
|
|
%% automatically picked up if the files
|
|
%% exist but can be set manually, which
|
|
%% is required if the names aren't exactly
|
|
%% sys.config and vm.args
|
|
{sys_config, "./config/sys.config"},
|
|
{vm_args, "./config/vm.args"}
|
|
|
|
%% the .src form of the configuration files do
|
|
%% not require setting RELX_REPLACE_OS_VARS
|
|
%% {sys_config_src, "./config/sys.config.src"},
|
|
%% {vm_args_src, "./config/vm.args.src"}
|
|
]}.
|
|
|
|
{profiles, [{prod, [{relx,
|
|
[%% prod is the default mode when prod
|
|
%% profile is used, so does not have
|
|
%% to be explicitly included like this
|
|
{mode, prod}
|
|
|
|
%% use minimal mode to exclude ERTS
|
|
%% {mode, minimal}
|
|
]
|
|
}]}]}.
|
|
|
|
{project_plugins, [
|
|
%% 或从 Git 仓库拉取最新版本
|
|
{pc, {git, "https://github.com/blt/port_compiler.git", {tag, "v1.15.0"}}}
|
|
]}.
|
|
|
|
{rebar_packages_cdn, "https://hexpm.upyun.com"}.
|