diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2017-10-23 10:11:06 -0400 |
---|---|---|
committer | Fred Hebert <mononcqc@ferd.ca> | 2017-10-23 10:16:55 -0400 |
commit | 65e07082018dec2a47f309258761db760100f5f2 (patch) | |
tree | 515f45fe857aa9d07f4f121b65aab744ca02e248 /src/rebar_hg_resource.erl | |
parent | 0e15a4cf22b50e4df2100052a332205aeba98972 (diff) |
Fix include paths in profile multiapp edge case
The compiling of OTP applications is done by first topographically
sorting them according to their dependencies, deps-first. This allows
all compilation to take place in order. In the current code, the same
logic extends to top-level applications in an umbrella project.
Unfortunately, there are cases where this is not going to be true: when
an application has extra_src_dirs entries (or additional directories or
files) to conditionally compile under some profiles, it may start
depending on another top-level application dedicated to that profile for
include files.
However, such an app will never make it to production and neither will
the compilation artifacts that create the dependency. Under that
scenario, current rebar3 is unusable.
This patch makes it so that the compilation provider instead changes the
logic for top-level apps: rather than copying their directories one by
one and compiling them in order, it:
1. copies all top-level apps to the build directory so the files are in
their proper locations
2. adds the top-level apps to the path (after the global hooks have run,
so the existing scope and env has not changed)
3. runs the compilation as usual.
Fixes #1651
Diffstat (limited to 'src/rebar_hg_resource.erl')
0 files changed, 0 insertions, 0 deletions