Ancora.ProjectInfo (ancora v1.0.0)

Copy Markdown View Source

Target-project identity read from source, without loading the target project.

mix.exs is parsed as data. The last expression in project/0 must be a keyword list, and only literal app: and elixirc_paths: values are accepted. Dynamic compile paths fall back to lib, unless the target's .spec/config.yml supplies lib_paths:.

Summary

Functions

Reads project identity from root/mix.exs.

Types

result()

@type result() :: {:ok, t()} | {:env, String.t()}

t()

@type t() :: %Ancora.ProjectInfo{app: atom(), lib_paths: [String.t()], root: Path.t()}

Functions

load(root, opts \\ [])

@spec load(
  Path.t(),
  keyword()
) :: result()

Reads project identity from root/mix.exs.

Pass lib_paths: paths to supply an already-resolved config override. With no option, a top-level lib_paths: key in .spec/config.yml overrides the compile paths from mix.exs.