mix precompiled.deps (precompiled v0.2.0)

Copy Markdown View Source

Installs signed precompiled builds of the dependencies Mix is about to compile, and rechecks the ones installed earlier. Not meant to be run by hand: add it to the project's deps.loadpaths alias, which every mix compile, test, run and release passes through before Mix compiles the dependencies:

def project do
  [
    ...,
    aliases: [
      "deps.loadpaths": ["deps.compile precompiled", "precompiled.deps", "deps.loadpaths"]
    ]
  ]
end

The first entry compiles this library so the task exists; without it Mix would compile every dependency first. In an umbrella the alias goes in the root mix.exs. Does nothing without config :precompiled, source: ... or PRECOMPILED_SOURCE. mix igniter.install precompiled writes the alias and the config (Elixir 1.18+, not in an umbrella).

mix do clean --deps + compile installs twice: clean loads paths first, which runs the alias once before it deletes _build, and the compile after it installs again. The result is correct, just one install slower.