Weld.Manifest (weld v0.7.2)

Copy Markdown View Source

Loads and validates a repo-local weld manifest.

Summary

Types

classify_config()

@type classify_config() :: %{
  tooling: MapSet.t(String.t()),
  proofs: MapSet.t(String.t()),
  ignored: MapSet.t(String.t())
}

dependency_config()

@type dependency_config() :: %{
  optional(atom()) => %{requirement: String.t() | nil, opts: keyword()}
}

publication_config()

@type publication_config() :: %{
  internal_only: MapSet.t(String.t()),
  separate: MapSet.t(String.t()),
  optional: %{optional(String.t()) => MapSet.t(String.t())}
}

t()

@type t() :: %Weld.Manifest{
  artifacts: %{optional(String.t()) => Weld.Manifest.Artifact.t()},
  classify: classify_config(),
  dependencies: dependency_config(),
  manifest_path: Path.t(),
  publication: publication_config(),
  repo_root: Path.t(),
  workspace: workspace_config()
}

workspace_config()

@type workspace_config() :: %{root: String.t(), project_globs: [String.t()]}

Functions

artifact!(manifest, artifact_name)

@spec artifact!(t(), nil | String.t() | atom()) :: Weld.Manifest.Artifact.t()

load!(manifest_path)

@spec load!(Path.t()) :: t()