微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将新的Erlang应用程序添加到Rebar3伞项目中?

如何解决如何将新的Erlang应用程序添加到Rebar3伞项目中?

我在文档中找不到它(或者很可能我错过了它),所以我认为这些步骤是:

  1. 将现有的Erlang应用程序复制(或使用rebar3 new app创建一个新应用程序)复制到<umbrella_root>/apps/(或<umbrella_root>/libs/

  2. 将新应用添加relx的{​​{1}}部分:

    <umbrella_root>/rebar.config
  3. 将新应用程序所需的配置环境变量添加 { relx,[ {release,{ your_big_project_name,"0.1.0" },[ your_big_project_name_or_smth_else,the_newly_copied_app %,sasl ] },{sys_config,"./config/sys.config"},{vm_args,"./config/vm.args"},{dev_mode,true},{include_erts,false},{extended_start_script,true} ] }.

  4. 如果新应用使用了插件,请在<umbrella_root>/config/sys.config中对其进行配置。

我要关闭吗?如果是,这是否意味着可以嵌套伞式应用程序? (这应该是一个单独的问题)。

解决方法

是的,这就是在发行版中包含应用程序文件所需的全部内容。

关于嵌套的伞形应用程序,请查看以下thread in rebar3's site

编辑:
链接的线程谈到将伞形应用程序作为依赖项,而rebar3不支持。引用:

该形式的雨伞应用程序不被支持,因为 依赖性。处理单个版本控制和锁定 包含多个应用程序的依赖不是我们曾经拥有的东西 想通了,所以这根本不可行。

这并不意味着您不能使用一些技巧,例如使用git子模块和在根目录中配置的多个project_app_dirs。对于rebar3,这些应用程序将是本地应用程序,但是您需要从“外部” rebar3处理它们(不是真正的“嵌套”伞式应用程序)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。