Namespace Ando.Execution
Classes
- ArgumentBuilder
Fluent builder for constructing CLI argument arrays. Provides conditional argument inclusion for cleaner code.
- CommandExecutorBase
Base class for command executors that provides shared process execution logic. Subclasses implement PrepareProcessStartInfo(string, string[], CommandOptions) to customize command setup.
- CommandOptions
Options for command execution. Mutable class to allow fluent configuration before execution.
- CommandResult
Result of executing a command. Immutable record to prevent accidental modification of results.
- ContainerConfig
Configuration for creating a container. Mutable to allow fluent configuration pattern.
- ContainerExecutor
Executes commands inside a Docker container via 'docker exec'. Provides real-time output streaming and working directory management. Implements ICommandExecutor for seamless switching between local and container execution.
- ContainerInfo
Container information and state. Immutable record for safe passing between methods.
- DockerManager
Manages Docker container lifecycle for isolated build execution. Implements warm container pattern for fast subsequent builds.
- ProcessRunner
Executes commands on the host machine as child processes with real-time output streaming. Used for Docker CLI commands that must run on the host to manage containers.
Interfaces
- ICommandExecutor
Interface for executing CLI commands. Implementations include ProcessRunner (local) and ContainerExecutor (Docker). This abstraction enables ANDO to run the same build logic in different environments.
Enums
- DockerAvailability
Result of checking Docker availability on the system. Used to provide specific, actionable error messages.