Project configuration documentation

Is there a comprehensive source of documentation for the mix.exs file? One of the first places I checked was https://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html which is a good getting started guide but as far as I can tell does not link to any comprehensive documentation. Mix.Project is the next place I checked but it doesn’t seem comprehensive either, in particular it does not contain an exhaustive list of the options available to be set in project/0, such as elixirc_paths. So does comprehensive documentation for project/0 exist?

The configs are splitted into different compilers document.

First, use mix compile --list to list the compilers, and then use mix help to view the document.

For example

> mix compile --list
mix compile.app       # Writes an .app file
mix compile.elixir    # Compiles Elixir source files
mix compile.erlang    # Compiles Erlang source files
mix compile.leex      # Compiles Leex source files
mix compile.protocols # Consolidates all protocols in all paths
mix compile.xref      # Performs remote dispatch checking
mix compile.yecc      # Compiles Yecc source files

Enabled compilers: yecc, leex, erlang, elixir, xref, app, protocols

Then most common configs are in following three compilers:

mix help compile.app
mix help compile.elixir
mix help compile.erlang
2 Likes

@axelson you can check Hexdocs for Mix.Project module - https://hexdocs.pm/mix/Mix.Project.html.
Moreover - you can always check source code of Elixir lang on GitHub (https://github.com/elixir-lang/elixir)

Thanks! I was not aware of mix compile --list or mix help compile.elixir, that does seem the most comprehensive. Maybe I’ll create a docs PR to some of the pages I mentioned in my original post.