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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.