phoenixframework/phoenix — pull request #490 by tcsc (2014-11-29 12:26:51+00:00)
Title: Make phoenix.start play nicely with non-phoenix siblings

The `phoenix.start` mix task recursively attempts to start a router on all apps in an umbrella project, which doesn't seem to play nicely with non-phoenix siblings. Having a non-phoenix sibling crashed iex when attempting to start an interactive session, as no such router existed.

This patch adds a check to see if phoenix is listed in the target app's dependency list*, and only attempts to start the router if it is found.

* = "Checks to see if the atom `:phoenix` appears as a key in the app's dependency list", which may be a fragile & silly way of checking to see if the app requires phoenix. Any suggestions for a more robust approach are welcome.