Enum lal::CliError [] [src]

pub enum CliError {
    Io(Error),
    Parse(Error),
    Hype(Error),
    MissingManifest,
    MissingConfig,
    MissingComponent(String),
    InvalidComponentName(String),
    ManifestExists,
    ExecutableMissing(String),
    OutdatedLal(StringString),
    MissingSslCerts,
    UnmappableRootUser,
    MissingMount(String),
    MissingDependencies,
    DependencyCycle(String),
    InvalidVersion(String),
    ExtraneousDependencies(String),
    MissingLockfile(String),
    MultipleVersions(String),
    MultipleEnvironments(String),
    EnvironmentMismatch(StringString),
    NonGlobalDependencies(String),
    NoSupportedEnvironments,
    UnsupportedEnvironment,
    MissingEnvironment(String),
    EnvironmentUnspecified,
    InvalidBuildConfiguration(String),
    BuildScriptNotExecutable(String),
    MissingBuildScript,
    MissingScript(String),
    MissingTarball,
    MissingBuild,
    InvalidStashName(u32),
    MissingStashArtifact(String),
    SubprocessFailure(i32),
    DockerPermissionSafety(Stringu32u32),
    DockerImageNotFound(String),
    InstallFailure,
    BackendFailure(String),
    NoIntersectedVersion(String),
    MissingReleaseBuild,
    MissingBackendCredentials,
    UploadFailure(String),
    MissingPrefixPermissions(String),
    UpgradeValidationFailure(String),
}

The one and only error type for the lal library

Every command will raise one of these on failure, and these is some reuse between commands for these errors. Result<T, CliError> is effectively the safety net that every single advanced call goes through to avoid panic!

Variants

Errors propagated from std::fs

Errors propagated from serde_json

Errors propagated from hyper

Manifest file not found in working directory

Config not found in ~/.lal

Component not found in manifest

Value in manifest is not lowercase

Manifest cannot be overwritten without forcing

Executable we shell out to is missing

lal version required by config is too old

Missing SSL certificates

Root user encountered

Missing predefined mount

Core dependencies missing in INPUT

Cyclical dependency loop found in INPUT

Dependency present at wrong version

Extraneous dependencies in INPUT

No lockfile found for a component in INPUT

Multiple versions of a component was involved in this build

Multiple environments was used to build a component

Environment for a component did not match our expected environment

Custom versions are stashed in INPUT which will not fly on Jenkins

No supported environments in the manifest

Environment in manifest is not in the supported environments

Specified environment is not present in the main config

Command now requires an environment specified

Build configurations does not match manifest or user input

BUILD script not executable

BUILD script not found

Script not found in local .lal/scripts/ directory

Failed to find a tarball after fetching from artifactory

Failed to find build artifacts in OUTPUT after a build or before stashing

Invalid integer name used with lal stash

Failed to find stashed artifact in the lal cache

Shell errors from docker subprocess

Docker permission gate

Docker image not found

Unspecified install failure

Fetch failure related to backend

No version found at same version across supportedEnvironments

Missing release build

Config missing backend credentials

Failed upload request to the backend

Failing to write to our current install prefix

Failing to validate latest lal version

Trait Implementations

impl Debug for CliError
[src]

[src]

Formats the value using the given formatter.

impl Display for CliError
[src]

[src]

Formats the value using the given formatter. Read more

impl From<Error> for CliError
[src]

[src]

Performs the conversion.

impl From<Error> for CliError
[src]

[src]

Performs the conversion.

impl From<Error> for CliError
[src]

[src]

Performs the conversion.