Thank you everyone for your help!
For reference : I add the link to the post What directory structure and files does mix create? - #4 by joeerl which also tried to understand the directory structure.
The idea that the content of deps
and _build
directories are meant to be “private” implementation details is also problematic to me. I use to cache deps
and add _build
as artifact in my GitLab CI pipeline which uses several concurrent jobs. It took me extremely long time to understand that the reason my GitLab CI pipeline sometime failed and sometime passed was partly due to deps
containing build artifacts.
So in practice, it is not an implementation detail because I needed that knowledge (deps
containing build artifacts) to achieve my goal.