semver-cargo 0.5.0

A SemVer-Release plugin for updating and publish cargo project releases.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::Config;
use r_log::LogLevel;
use semver_common::{Alert, Version};

pub fn parse_args(args: Vec<String>) -> Result<(Config, Version, LogLevel, bool), Alert> {
    let config_str = args.get(1).ok_or("No configuration supplied.")?;
    let version_str = args.get(2).ok_or("No version supplied.")?;
    let log_level_str = args.get(3).ok_or("No log level supplied.")?;
    let updated_str = args.get(4).ok_or("No updated supplied.")?;

    let config: Config = serde_json::from_str(config_str)?;
    let version: Version = serde_json::from_str(version_str)?;
    let log_level = LogLevel::from_str(log_level_str).ok_or("Not a valid log level")?;
    let updated = updated_str == "true";

    Ok((config, version, log_level, updated))
}