用户可通过该项目在 Rebar3 构建流程中编译 Elixir 应用及依赖。它支持自动发现 Elixir 环境,指定 lib 和 bin 目录,还能与发布流程集成,自动处理 ./elixir_libs 下的 Mix 应用。【此简介由AI生成】
rebar3_elixir_compile
A rebar3 elixir compiler plugin

Usage
Add the plugin to your rebar config:
{erl_opts, [debug_info]}.
{plugins, [
{ rebar3_elixir_compile, ".*", {git, "https://github.com/barrel-db/rebar3_elixir_compile.git", {branch, "master"}}}
]}.
{deps, [
{faker, {elixir, "faker" ,"0.6.0"}}
]}.
{provider_hooks, [
{pre, [{compile, {ex, compile}}]}
]}.
{elixir_opts,
[
{env, dev}
]
}.
Full example in https://github.com/barrel-db/rebar3_elixir_compile/tree/master/examples/demo
Directory structure
The plugin expects your mix applications to be present in ./elixir_libs. All mix apps are automatically compiled along with their dependencies.
The plugin also creates ./_elixir_build to fetch and compile your dependencies specified in rebar.config.
Release
rebar3_elixir_compile supports releases out of the box. You just need to add a pre release provider hook in your rebar.config
{pre, [{release, {ex, compile}}]}
Elixir lib dir
rebar3_elixir_compile has auto discovery feature. It automatically loads Elixir, Mix and Logger from your Elixir installation.
If you want to use the apps from another directory, you can add the following to elixir_opts in your rebar.config
{lib_dir, "/usr/local/lib/elixir/lib/"},
{bin_dir, "/usr/local/bin/"}