Dagger.GeneratorGroup (dagger v1.0.0-beta.13)

Copy Markdown View Source

Dagger.GeneratorGroup

Summary

Functions

The combined changes from the last run of the generators

Whether the generated changeset from the last run is empty or not

A unique identifier for this GeneratorGroup.

Return a list of individual generators and their details

Load failures tolerated while collecting the generators.

Execute all selected generators

The workspace with the combined output from the last generator run

Types

t()

@type t() :: %Dagger.GeneratorGroup{client: term(), query_builder: term()}

Functions

changes(generator_group, optional_args \\ [])

@spec changes(t(), [{:on_conflict, Dagger.ChangesetsMergeConflict.t() | nil}]) ::
  Dagger.Changeset.t()

The combined changes from the last run of the generators

If any conflict occurs, for instance if the same file is modified by multiple generators, or if a file is both modified and deleted, an error is raised and the merge of the changesets will failed.

Set 'continueOnConflicts' flag to force to merge the changes in a 'last write wins' strategy.

empty?(generator_group)

@spec empty?(t()) :: {:ok, boolean()} | {:error, term()}

Whether the generated changeset from the last run is empty or not

id(generator_group)

@spec id(t()) :: {:ok, String.t()} | {:error, term()}

A unique identifier for this GeneratorGroup.

list(generator_group)

@spec list(t()) :: {:ok, [Dagger.Generator.t()]} | {:error, term()}

Return a list of individual generators and their details

load_failures(generator_group)

@spec load_failures(t()) :: {:ok, [String.t()]} | {:error, term()}

Load failures tolerated while collecting the generators.

Empty unless a workspace module could not be loaded during an unscoped 'dagger generate' (no selector), where load failures are tolerated so the modules that do load still generate. Each entry is a human-readable error message. An explicit selector keeps failing hard instead.

run(generator_group)

@spec run(t()) :: t()

Execute all selected generators

workspace(generator_group, optional_args \\ [])

@spec workspace(t(), [{:on_conflict, Dagger.ChangesetsMergeConflict.t() | nil}]) ::
  Dagger.Workspace.t()

The workspace with the combined output from the last generator run