apicurio_cli/
dependency.rs

1use crate::config::DependencyConfig;
2use anyhow::Result;
3use semver::VersionReq;
4
5pub struct Dependency {
6    pub name: String,
7    pub group_id: String,
8    pub artifact_id: String,
9    pub req: VersionReq,
10    pub registry: String,
11    pub output_path: String,
12}
13
14impl Dependency {
15    pub fn from_config(cfg: &DependencyConfig) -> Result<Self> {
16        Ok(Dependency {
17            name: cfg.name.clone(),
18            group_id: cfg.group_id.clone(),
19            artifact_id: cfg.artifact_id.clone(),
20            req: VersionReq::parse(&cfg.version)?,
21            registry: cfg.registry.clone(),
22            output_path: cfg.output_path.clone(),
23        })
24    }
25}