Current section
Files
Jump to
Current section
Files
lib/mix/tasks/compile/runorcomp.ex
defmodule Mix.Tasks.Compile.Runorcomp do
@moduledoc """
Flushes compile tracer data to `_build/{env}/runorcomp.json` after Elixir compilation.
## Setup
Add both the tracer and compiler to your `mix.exs`:
def project do
[
compilers: Mix.compilers() ++ [:runorcomp],
elixirc_options: [tracers: [Runorcomp.Tracer]],
...
]
end
"""
use Mix.Task.Compiler
@impl true
def run(_argv) do
case Runorcomp.Tracer.flush() do
0 ->
{:noop, []}
count ->
Mix.shell().info("[runorcomp] Updated #{count} files")
{:ok, []}
end
end
end