View Source mix compile.elixir (Mix v1.10.2)
Compiles Elixir source files.
Elixir is smart enough to recompile only files that have changed
and their dependencies. This means if lib/a.ex
is invoking
a function defined over lib/b.ex
, whenever lib/b.ex
changes,
lib/a.ex
is also recompiled.
Note it is important to recompile a file's dependencies as there are often compile time dependencies between them.
Command line options
--verbose
- prints each file being compiled--force
- forces compilation regardless of modification times--docs
(--no-docs
) - attaches (or not) documentation to compiled modules--debug-info
(--no-debug-info
) - attaches (or not) debug info to compiled modules--ignore-module-conflict
- does not emit warnings if a module was previously defined--warnings-as-errors
- treats warnings in the current project as errors and return a non-zero exit code--long-compilation-threshold N
- sets the "long compilation" threshold (in seconds) toN
(see the docs forKernel.ParallelCompiler.compile/2
)--profile
- if set totime
, outputs timing information of compilation steps--all-warnings
- prints warnings even from files that do not need to be recompiled--tracer
- adds a compiler tracer in addition to any specified in themix.exs
file
Configuration
:elixirc_paths
- directories to find source files. Defaults to["lib"]
.:elixirc_options
- compilation options that apply to Elixir's compiler. SeeCode.put_compiler_option/2
for a complete list of options. These options are often overridable from the command line using the switches above.