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 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
 * creating mix.exs
 * creating apps
 * creating config
 * creating config/config.exs ...

Get Programming Phoenix now with the O’Reilly learning platform.

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