Current section
Files
Jump to
Current section
Files
lib/assay.ex
defmodule Assay do
@moduledoc """
Public entrypoints for running incremental Dialyzer via Assay.
"""
alias Assay.Config
alias Assay.Runner
@doc """
Runs incremental Dialyzer using configuration sourced from the host project.
Returns `:ok` when Dialyzer finishes cleanly, `:warnings` when incremental
Dialyzer exits with code 1, and raises on any other exit.
"""
@spec run(keyword()) :: Runner.run_result()
def run(opts \\ []) do
config_module = Application.get_env(:assay, :config_module, Config)
runner_module = Application.get_env(:assay, :runner_module, Runner)
config = config_module.from_mix_project(opts)
runner_module.run(config, opts)
end
end