Replies: 1 comment
-
I believe the code doing this is rebar3/src/rebar_prv_compile.erl Lines 457 to 465 in eabbdd8 We basically symlink-or-copy source directories and extra source directories, along with priv/ and ebin/. Ebin/ is copied because it can contain pre-built code or .app files we want to keep around but not clobber. Source directories are symlinked because we want the source files available in _build for operations requiring them (e.g. releases, code coverage) without paying the cost of a copy. The priv/ and include/ is because hooks and plugins may write to these directories as part of compilation but have the artifacts visible and trackable, as the comment shows. If you declare As to why none of this is really obvious nor documented, it's because this is likely the first time we encounter this in the wild. |
Beta Was this translation helpful? Give feedback.
-
I see that _checkouts is creating softlinks to src,include and priv folders from _build/default/checkouts/application.
if I have extra folders they are not projected to _build/default/checkouts/.
So when I use this function include_lib(test_app/sample2/include/sam2.hrl)
it couldn't find the file since sample2 folder is not projected to _build/default/checkouts
is there any way we can solve this , sample2 cannot be moved to include because this piece of code needs to be seperated from test_app so I created this extra folder.
Beta Was this translation helpful? Give feedback.
All reactions