Skip to content

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

Description

@starbelly

Originally reported by liveforeverx in Supersonido/rebar_mix#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:

  • [Mix.Project] Make sure MIX_BUILD_PATH specifies only the build_path prefix and that env+target are still concatenated

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions