Rebar3的目录组织方式
开发目录
.
├── _build ## 运行rebar compile编译后生成的文件夹
│ └── default ## 配置的环境:debug或者release或者生产
│ └── lib ## 统一存放项目下所有的app
│ └── test_app
│ ├── ebin ## 该app所有的ebin位置
│ │ ├── test_app.app
│ │ ├── test_app_app.beam
│ │ └── test_app_sup.beam
│ ├── include -> ../../../../include
│ ├── priv -> ../../../../priv
│ └── src -> ../../../../src
├── include ## 头文件
│ ├── rebar.lock
│ └── test_app_app.hrl
├── LICENSE
├── README.md
├── rebar.config ## rebar.config
├── rebar.lock
└── src ## 源代码文件
├── test_app_app.erl
├── test_app.app.src ## app配置
└── test_app_sup.erl
.
├── _build ## 运行rebar compile编译后生成的文件夹
│ └── default ## 配置的环境:debug或者release或者生产
│ └── lib ## 统一存放项目下所有的app
│ ├── app1
│ | ├── ebin ## 该app所有的ebin位置
│ | │ ├── test_app.app
│ | │ ├── test_app_app.beam
│ | │ └── test_app_sup.beam
│ | ├── include -> ../../../../include
│ | ├── priv -> ../../../../priv
│ | └── src -> ../../../../src
| └── app2
├── LICENSE
├── README.md
├── rebar.config ## rebar.config
├── rebar.lock
└── apps ## 源代码文件
├── app1
│ │ ├── app1.app.src
│ │ ├── app1_app.erl
│ │ └── app1_sup.erl
│ ├── include
│ └── src
├── app2
│ └── app2.app.src
└── app3
发布目录
.
├── bin ## rebar3生成的脚本
│ ├── install_upgrade.escript
│ ├── test_app
│ ├── test_app -0.1.0
│ ├── nodetool
│ └── no_dot_erlang.boot
├── lib # 依赖以及项目下所有自己编写的app,这是软连接
│ ├── test_app-0.1.0 -> /root/.../_build/default/lib/test_app
│ ├── cowboy-2.9.0 -> /root/.../_build/default/lib/cowboy
│ └── cowlib-2.11.0 -> /root/.../_build/default/lib/cowlib
├── releases
│ ├── 0.1.0
│ │ ├── test_app.rel
│ │ ├── no_dot_erlang.boot
│ │ ├── start.boot
│ │ ├── start_clean.boot
│ │ ├── start.script
│ │ ├── sys.config.src -> /root/moyu/server/trunk/args/sys.config.src
│ │ └── vm.args.src -> /root/moyu/server/trunk/args/vm.args.src
│ └── start_erl.data
└── yctl
Rebar3的目录组织方式
https://qiil.github.io/2021/05/26/Rebar3的目录组织方式/