Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix elixir deps #35

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/rebar_mix_protocol_consolidation.exs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ paths = String.split(System.get_env("REBAR_DEPS_EBIN", ""), ":")
out_dir = System.get_env("REBAR_PROTOCOLS_OUTDIR", "")
File.mkdir_p!(out_dir)

for path <- paths do
path
|> to_charlist()
|> :code.add_path()
end

# For protocol consolidation run the following script
# paths is a list of paths to dependency ebin directory
# output is the output directory for the compiled protocol beam files
Expand Down
16 changes: 15 additions & 1 deletion src/rebar_mix_utils.erl
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,8 @@ add_elixir(State) ->
code:add_patha(filename:join(LibDir, "elixir/ebin")),
code:add_patha(filename:join(LibDir, "mix/ebin")),
code:add_patha(filename:join(LibDir, "logger/ebin")),
code:add_patha(filename:join(LibDir, "eex/ebin")),
code:add_patha(filename:join(LibDir, "iex/ebin")),
State.

%% @doc Add elixir to the application build path
Expand All @@ -119,6 +121,16 @@ add_elixir_to_build_path(State)->
MixBuildPath = filename:join(BuildPath, "mix"),
file:make_symlink(MixPath, MixBuildPath),

%% Link EEx
EExPath = filename:join(LibDir, "eex"),
EExBuildPath = filename:join(BuildPath, "eex"),
file:make_symlink(EExPath, EExBuildPath),

%% Link IEx
IExPath = filename:join(LibDir, "iex"),
IExBuildPath = filename:join(BuildPath, "iex"),
file:make_symlink(IExPath, IExBuildPath),

State.

%% @doc Add elixir to a list of lock dependencies.
Expand All @@ -128,7 +140,9 @@ elixir_to_lock(Lock) ->
[
{<<"elixir">>, {iex_dep, <<"elixir">>, <<"">>}, 0},
{<<"logger">>, {iex_dep, <<"logger">>, <<"">>}, 0},
{<<"mix">>, {iex_dep, <<"mix">>, <<"">>}, 0}
{<<"mix">>, {iex_dep, <<"mix">>, <<"">>}, 0},
{<<"eex">>, {iex_dep, <<"eex">>, <<"">>}, 0},
{<<"iex">>, {iex_dep, <<"iex">>, <<"">>}, 0}
].

%% @doc compiles a elixir app which is located in AppDir.
Expand Down