\section{Dependencies}

\subsection{OTP Compliant}

mad supports rebar umbrella project structure.
Specifically two kinds of directory layouts:

\vspace{1\baselineskip}
\begin{lstlisting}[caption=Solution]
    +-- apps
    +-- deps
    +-- rebar.config
    +-- sys.config
\end{lstlisting}
\vspace{1\baselineskip}

\vspace{1\baselineskip}
\begin{lstlisting}[caption=OTP Application]
    +-- deps
    +-- ebin
    +-- include
    +-- priv
    +-- src
    +-- rebar.config
\end{lstlisting}
\vspace{1\baselineskip}

\subsection{Apps Ordering}

As you may know you can create OTP releases with
reltool (rebar generate) or systools (relx). mad currently
creates releases with relx but is going to do it independently soon.
Now it can only order applications.

\vspace{1\baselineskip}
\begin{lstlisting}
    # mad plan
    Ordered: [kernel,stdlib,mnesia,kvs,crypto,cowlib,ranch,
              cowboy,compiler,syntax_tools,erlydtl,gproc,
              xmerl,n2o,n2o_sample,fs,active,mad,rest,sh]
\end{lstlisting}
\vspace{1\baselineskip}