-
Notifications
You must be signed in to change notification settings - Fork 521
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
Since version 3.3 REBAR_CONFIG defines name for every configuration file #1492
Comments
I think Mix can use the same behavior since the bare compiler we use do not load dependencies, it should only load their compiled code (correct me if I'm wrong). The issue I was trying to fix in my PR was that REBAR_CONFIG wasn't consistently being used for the current project, I don't recall that we had any issue with dependencies. |
I guess then the fix for this would be to undo the change and only do the ENV-based lookup in the root at rebar3.erl and in the standalone compiler only, but not the rest of lookups. That should be fixable and should work for all use cases. |
So there's two other approaches possible:
Currently we do 1, which is broken. A fix for 2 is trivial and I have a version of it already. A fix for 3 may be confusing since it would impact the root and all of the apps themselves too, unilaterally. Fix is less trivial since it changes the use of app discovery functions based on context. What do you think should happen between the 3 options here? Also asking the views of @tsloughter, @ericmj, and @talentdeficit |
I just checked some providers and deps in _build/lib/ can be matches with that stuff indiscriminately. I think Option 3 is a no-go then. I went with option 2 and opened a PR: #1497 |
#2 seems sanest and safest to me. assuming it satisfies mix's use this is solved i think? |
I'm not sure is this intended behaviour or not but since #1387 when
REBAR_CONFIG
variable is set every erlang project configuration file is assumed to have this name, in other words when set to some value alternative.config rebar tries to load alternative.config for the root project and for dependencies too and the latter is the problem.I expected that the variable controls only the name of the root project's configuration file, not dependencies.
If this is a bug, I can find some time to fix it.
The text was updated successfully, but these errors were encountered: