apicurio_cli/
dependency.rs1use 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.resolved_group_id(),
19 artifact_id: cfg.resolved_artifact_id(),
20 req: VersionReq::parse(&cfg.version)?,
21 registry: cfg.registry.clone(),
22 output_path: cfg.output_path.clone(),
23 })
24 }
25}