Enum lal::CliError
[−]
[src]
pub enum CliError { Io(Error), Parse(Error), Hype(Error), MissingManifest, MissingConfig, MissingComponent(String), ManifestExists, ExecutableMissing(String), OutdatedLal(String, String), MissingSslCerts, UnmappableRootUser, MissingMount(String), MissingDependencies, DependencyCycle(String), InvalidVersion(String), ExtraneousDependencies(String), MissingLockfile(String), MultipleVersions(String), MultipleEnvironments(String), EnvironmentMismatch(String, String), NonGlobalDependencies(String), MissingEnvironment(String), InvalidEnvironment, InvalidBuildConfiguration(String), BuildScriptNotExecutable(String), MissingBuildScript, MissingScript(String), MissingTarball, MissingBuild, InvalidStashName(u32), MissingStashArtifact(String), SubprocessFailure(i32), DockerPermissionSafety(String, u32, u32), DockerImageNotFound(String), InstallFailure, BackendFailure(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
Io(Error)
Errors propagated from std::fs
Parse(Error)
Errors propagated from serde_json
Hype(Error)
Errors propagated from hyper
MissingManifest
Manifest file not found in working directory
MissingConfig
Config not found in ~/.lal
MissingComponent(String)
Component not found in manifest
ManifestExists
Manifest cannot be overwritten without forcing
ExecutableMissing(String)
Executable we shell out to is missing
OutdatedLal(String, String)
lal version required by config is too old
MissingSslCerts
Missing SSL certificates
UnmappableRootUser
Root user encountered
MissingMount(String)
Missing predefined mount
MissingDependencies
Core dependencies missing in INPUT
DependencyCycle(String)
Cyclical dependency loop found in INPUT
InvalidVersion(String)
Dependency present at wrong version
ExtraneousDependencies(String)
Extraneous dependencies in INPUT
MissingLockfile(String)
No lockfile found for a component in INPUT
MultipleVersions(String)
Multiple versions of a component was involved in this build
MultipleEnvironments(String)
Multiple environments was used to build a component
EnvironmentMismatch(String, String)
Environment for a component did not match our expected environment
NonGlobalDependencies(String)
Custom versions are stashed in INPUT which will not fly on Jenkins
MissingEnvironment(String)
Specified environment is not present in the main config
InvalidEnvironment
Default environment explicitly specified
InvalidBuildConfiguration(String)
Build configurations does not match manifest or user input
BuildScriptNotExecutable(String)
BUILD script not executable
MissingBuildScript
BUILD script not found
MissingScript(String)
Script not found in local .lal/scripts/ directory
MissingTarball
Failed to find a tarball after fetching from artifactory
MissingBuild
Failed to find build artifacts in OUTPUT after a build or before stashing
InvalidStashName(u32)
Invalid integer name used with lal stash
MissingStashArtifact(String)
Failed to find stashed artifact in the lal cache
SubprocessFailure(i32)
Shell errors from docker subprocess
DockerPermissionSafety(String, u32, u32)
Docker permission gate
DockerImageNotFound(String)
Docker image not found
InstallFailure
Unspecified install failure
BackendFailure(String)
Fetch failure related to backend
MissingReleaseBuild
Missing release build
MissingBackendCredentials
Config missing backend credentials
UploadFailure(String)
Failed upload request to the backend
MissingPrefixPermissions(String)
Failing to write to our current install prefix
UpgradeValidationFailure(String)
Failing to validate latest lal version
Trait Implementations
impl Debug for CliError
[src]
impl Display for CliError
[src]
fn fmt(&self, f: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more