Ah it looks like this is the case for standalone apps, but it's not the case for sub-apps generated inside an umbrella project. That is, if I change the config in one of my sub-apps then recompilation will not happen and running `mix test` will not reflect changes to the sub-app's configs. I'm guessing that the entire umbrella project shares the same build files and the umbrella project only recompiles based on changes in the top-level configs (even though the umbrella app seems to be reading the sub-app's configs when it does compile)
On Wednesday, October 12, 2016 at 11:07:14 AM UTC-4, Eric Meadows-Jönsson wrote:
Mix does automatically recompile the project if a config file in config/ changes, it does not recompile dependencies if that's what you are referring to.
I feel like a common idiom in Elixir is to define environment-specific variables using module attributes so that each environment's changes can be compiled directly (instead of being called dynamically). The most obvious place to define these module attributes is in the respective config directory. Right now if you compile the source with a given module attribute you need to blow away the _build directory and call mix again to recompile. I think it would be nice if mix could look at the timestamp of the respective config file and recompile if needed. Alternatively, it would be helpful if mix would warn if the config file has changed and a recompile is needed to use the latest source (as there aren't any indicators that mix didn't pick up the changes in the config file)
--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.