簡體   English   中英

如何將新的 Erlang 應用程序添加到 Rebar3 傘式項目?

[英]How to add new Erlang application to a Rebar3 umbrella project?

我在文檔中找不到它(或者,更可能的是,我錯過了它),所以我認為這些是步驟:

  1. 將現有的 Erlang 應用程序(或使用rebar3 new app創建一個新應用程序)復制到<umbrella_root>/apps/ (或<umbrella_root>/libs/

  2. 將新應用程序添加到<umbrella_root>/rebar.config中的relx部分:

     { 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} ] }.
  3. 將新應用所需的配置環境變量添加到<umbrella_root>/config/sys.config

  4. 如果新應用程序使用插件,請在<umbrella_root>/apps/<new_app>/rebar.config中配置它。

我很接近嗎? 如果是,是否意味着傘式應用程序可以嵌套? (這可能應該是一個單獨的問題)。

是的,這就是您在發布中包含應用程序文件所需的全部內容。

關於嵌套的 umbrella 應用程序,請查看rebar3 站點中的以下線程

編輯:
鏈接的線程討論了將 umbrella 應用程序作為依賴項,rebar3 不支持。 引用:

這種形式的 Umbrella 應用程序不支持作為依賴項。 處理包含多個應用程序的單個依賴項的版本控制和鎖定不是我們想出的事情,所以它是不可行的。

這並不意味着您不能使用一些技巧,例如使用 git 子模塊和在根目錄中配置的多個project_app_dirs 對於 rebar3,這些應用程序將是本地應用程序,但您需要從“外部”rebar3 處理它們(不是真正的“嵌套”保護傘應用程序)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM