starbelly / rebar_mix

rebar3 plugin for building Elixir dependencies with mix
Apache License 2.0
0 stars 0 forks source link

Plugin doesn't work with upcoming Elixir v1.10 #9

Open starbelly opened 1 year ago

starbelly commented 1 year ago

Originally reported by liveforeverx in https://github.com/Supersonido/rebar_mix/issues/15

Environment

Elixir & Erlang/OTP versions (elixir --version): Elixir 1.10.0-dev (46f6ba5) (compiled with Erlang/OTP 22)
Operating system: Mac OS

Current behavior

Creating new application and using rebar_mix plugin for example to include jason library, like this in rebar.config:

{erl_opts, [debug_info]}. {deps, [ {jason, "1.1.2"} ]}.

{plugins, [rebar_mix]}. {provider_hooks, [ {pre, [{compile, {mix, find_elixir_libs}}]}, {post, [{compile, {mix, consolidate_protocols}}]} ]}.

{shell, [ {apps, [mylib]} ]}.

Expected behavior

Jason compiled.

Jason compiles with Elixir v1.9, but with upcoming Elixir v1.10 it produces an error:

rebar3 shell ... Generated decimal app ===> Failed to read required .app file for processing the application 'decimal': no such file or directory

Tracing back it is dependent on this change:

So probably this change could fix this:

https://github.com/Supersonido/rebar_mix/blob/master/src/rebar_mix_builder.erl#L14-L15

to:

{env, [{"MIX_BUILD_PATH", filename:join(AppDir, "../../../")}, {"MIX_ENV", "default"}]}]) of

Or getting MIX_ENV from profiles (I see multiple profiles, but I don't know, which one to use).