openfare_lib/extension/commands/
package_dependencies_locks.rs1use super::common;
2use crate::extension::common::Extension;
3use anyhow::Result;
4use structopt::{self, StructOpt};
5
6pub const COMMAND_NAME: &str = "package-dependencies-locks";
7
8#[derive(Debug, StructOpt, Clone)]
9#[structopt(
10 name = "no_version",
11 no_version,
12 global_settings = &[structopt::clap::AppSettings::DisableVersion]
13)]
14#[structopt(global_setting = structopt::clap::AppSettings::TrailingVarArg)]
15pub struct Arguments {
16 #[structopt(name = "package-name", long)]
18 pub package_name: String,
19
20 #[structopt(name = "package-version", long)]
22 pub package_version: Option<String>,
23
24 #[structopt(name = "extension-args", long)]
25 pub extension_args: Vec<String>,
26}
27
28pub fn run_command<T: Extension + std::fmt::Debug>(args: &Arguments, extension: &T) -> Result<()> {
29 let result = extension.package_dependencies_locks(
30 &args.package_name,
31 &args.package_version.as_deref(),
32 &args.extension_args,
33 );
34 common::communicate_result(result)?;
35 Ok(())
36}
37
38#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
39pub struct PackageDependenciesLocks {
40 pub registry_host_name: String,
41 pub package_locks: crate::package::PackageLocks,
42}