-
Notifications
You must be signed in to change notification settings - Fork 296
rebar doesn't respect the order of erl_first_files given in the rebar.conf file #445
Conversation
This merge request is for issue #429. |
So just so I'm clear, was the issue that |
No. The root issue is that AllErlFiles is not sorted to respect the order of ErlFirstFiles.
|
So, should we sort in |
I don't think so. The fix made by Slava is fine by me.
|
18866c1
to
27cd98e
Compare
After we make |
Ok, that makes sense to me. @Tuncer anything else you can think of before I merge this in later today? |
We can merge it as a fix, even though I don't like the extra list traversals too much. |
Just checking ... Is anything else required for this pull request? |
@norton If you complete remove erl_first_files from config does rebar compile file in right order? My main issue with this that erl_first_files use as is and don't order by rebar inner algorithm. So we need remove don't exists file and hope that user use correct order for this file. I think that better ignore erl_first_files and use rebar algorithm for order files. But I not sure that all use case didn't use erl_first_files for some interesting behavior or rebar correct parse and analyze all posible erl file. We can deprecate erl_first_files and lay on rebar order algorithm and improve it. Or keep erl_first_files and have more and more code for that options. So my main question: Why we need erl_first_files if rebar can order erl file by himself? |
@nevar fixing the behavior of erl_first_files and deprecating el_first_files are different goals. My goal for this issue is simply to fix the erl_first_files regression reported in #429 and not introduce any new harm. |
I've been thinking of ways to avoid the extra scanning, and didn't come up with a good solution. In order to fix the issue, we should get this in and try to optimize it in another patch. |
To deprecate or remove |
+1
|
+1
|
rebar doesn't respect the order of erl_first_files given in the rebar.conf file
Match erl_first_files properly against all files needing compilation and make sure the order of erl_first_files as specified in rebar.config is preserved (rebar/rebar#445)
The first commit is a fix for this issue. The second commit is a test for this issue. The second commit will fail if cherry-picked to the current master branch.