I'm currently working with a client that have hard requirements on what the 
default environments should be across all their products. For instance, 
`local` is the default environment. `ci` is the default environment for 
running tests and `dev` is used as a development staging environment.

Mix supports the `preferred_cli_env` option, which I can declare on a 
project level. This is nice because it allows me to specify the preferred 
environment for the test task. Unfortunately, there's no way of specifying 
the default environment. It's currently hard-coded to `dev` unless 
`MIX_ENV` is set. The problem with having `MIX_ENV` set is that it simply 
makes `preferred_cli_env` void as the environment variable always takes 
precedence, so I'm left with having to specify `MIX_ENV` explicitly when 
running tests anyway.

I propose adding a new option, `default_env`, to the Mix project 
configuration. If set, it will be reported by `Mix.env` unless `MIX_ENV` is 
also present.

I'd love to hear some thoughts before I pursue this any further.

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/9029fb90-362d-4a1f-be30-6a8b3bd5f074n%40googlegroups.com.

Reply via email to