erlang relx 用法
-
relx作为erlang的一个编译器,网上介绍的比较少,在看EMQ2.X版本代码时候涉及到relx,故写一下自己的分析
-
用法介绍:介绍一下在EMQ中用到的参数,及一些内部隐含逻辑
- -c:指定要加载的配置文件relx.config
- -o:指定输出后的配置文件位置。默认./当前目录
-
relx.config配置文件采用erlang可识别的元组格式
- {release,{emqttd,“2.3.9”},[ssl, …, {gen_coap, load}]}.
- 2.3.9 一般指定为版本
- {overlay_vars, “vars.config”}.
- 会事先定义一些变量,可供overlay选项中的template使用
- {overlay, [{mkdir, “etc/”}, {template, “bin/emqttd”, “bin/emqttd”},{copy, “rel/conf/plugins”, “etc/”}]}.
- mkdir: 创建目录,路径为: -o选项后的目录/release中的emqttd/
- copy: 拷贝文件
- template:按照前面的模板生成最终文件,并存放到相应的位置上
- relx内部提供的变量:rel_vsn erts_vsn output_dir 等 参见
- {release,{emqttd,“2.3.9”},[ssl, …, {gen_coap, load}]}.
-
注:relx在relx.config中如果不指定erts路径,或默认将系统中的erts保存到-o生成的目录中
-
relx参数详情