Using Umbrellas

Now that we’ve confirmed our intuition by using Observer, we can get down to the work of splitting these applications. Each umbrella project has a parent directory that defines:

  • The shared configuration of the project
  • The dependencies for that project
  • The apps directory with child applications

To get started, let’s create an umbrella project called rumbrella. Instead of using mix phoenix.new to build a Phoenix application, we’ll use mix new, which ships with Elixir, and pass it the --umbrella flag. Let’s run the command outside of the rumbl application, like this:

 $ ​​mix​​ ​​new​​ ​​rumbrella​​ ​​--umbrella
 
 * creating .gitignore
 * creating README.md
 * creating mix.exs
 * creating apps
 * creating config
 * creating config/config.exs ...

Get Programming Phoenix now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.