I want to add the
:logger_file_backend for dev only. I thought it would be cool to add it to the root
mix.exs file, configure it in the root
config/dev.exs file and have all my apps log to the dev.log in development. It works with
iex -S mix from the root, but cding into an app and running
iex -S mix raises because it can’t find the dep.
Obviously I know have to add the
:logger_file_backend dep to all my umbrella apps. I don’t really understand why though… I’m a doing something wrong? Can I not just declare it once in the global
An app within an umbrella is just like a normal app except that some mix project settings are different (
lockfile), there’s no extra magic there. I think it would be confusing if child apps automatically get dependencies/tasks from the umbrella root (which usually does not contain any code anyway). It would also make it harder to potentially extract a child app into a separate project because of these implicit assumptions.
If you find yourself adding the same dependencies over and over again and it bothers you (for me it’s not a big deal yet) you can always create some
common app with the shared dependencies and let other apps depend on that