Mix install in umbrella projects without mix.exs?


I’m going to use Docker to run elixir app (oh, please don’t tell me don’t use Docker!).

This is a part of my Dockerfile for an umbrella to install dependency to leverage cache (i.e. do not compile deps everytime)

RUN mkdir -p \
    apps/foo \
COPY mix.exs mix.lock ./
COPY apps/foo/mix.exs apps/foo/
COPY apps/bar/mix.exs apps/bar/
RUN mix deps.get && mix deps.compile

If I just copy top-level mix.exs and mix.lock, it fetches all dependency but it only compiles top-level deps, not deps of individual apps. So I had to copy mix.exs of all apps. I guess mix deps.compile needs some package info from mix.exs.

Is it possible (by design) that mix later supports compiling all deps only from mix.lock?