Dagger.CurrentModule (dagger v1.0.0-beta.11)

Copy Markdown View Source

Reflective module API provided to functions at runtime.

Summary

Functions

Treat the currently executing module as an SDK installed in the given workspace, exposing the modules and clients it manages.

The dependencies of the module.

The generated files and directories made on top of the module source's context directory.

Return all generators defined by the module

A unique identifier for this CurrentModule.

The name of the module being executed in

The directory containing the module's source code loaded into the engine (plus any generated code that may have been created).

Load a directory from the module's scratch working directory, including any changes that may have been made to it during module function execution.

Load a file from the module's scratch working directory, including any changes that may have been made to it during module function execution.Load a file from the module's scratch working directory, including any changes that may have been made to it during module function execution.

Types

t()

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

Functions

as_sdk(current_module, workspace)

Treat the currently executing module as an SDK installed in the given workspace, exposing the modules and clients it manages.

Errors if the current module is not installed as an SDK in this workspace.

dependencies(current_module)

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

The dependencies of the module.

generated_context_directory(current_module)

@spec generated_context_directory(t()) :: Dagger.Directory.t()

The generated files and directories made on top of the module source's context directory.

generators(current_module, optional_args \\ [])

@spec generators(t(), [{:include, [String.t()]}]) :: Dagger.GeneratorGroup.t()

Return all generators defined by the module

Experimental

"This API is highly experimental and may be removed or replaced entirely."

id(current_module)

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

A unique identifier for this CurrentModule.

name(current_module)

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

The name of the module being executed in

source(current_module)

@spec source(t()) :: Dagger.Directory.t()

The directory containing the module's source code loaded into the engine (plus any generated code that may have been created).

workdir(current_module, path, optional_args \\ [])

@spec workdir(t(), String.t(),
  exclude: [String.t()],
  include: [String.t()],
  gitignore: boolean() | nil
) ::
  Dagger.Directory.t()

Load a directory from the module's scratch working directory, including any changes that may have been made to it during module function execution.

workdir_file(current_module, path)

@spec workdir_file(t(), String.t()) :: Dagger.File.t()

Load a file from the module's scratch working directory, including any changes that may have been made to it during module function execution.Load a file from the module's scratch working directory, including any changes that may have been made to it during module function execution.