xtask_lib/tasks/
install_importer.rs1use anyhow::Result;
8use clap::Args;
9
10use super::setup_native;
11use super::util::{cmd, workspace};
12
13#[derive(Debug, Args)]
15pub struct InstallImporterArgs {
16 #[arg(trailing_var_arg = true, allow_hyphen_values = true)]
18 pub extra: Vec<String>,
19}
20
21pub fn run(args: InstallImporterArgs) -> Result<()> {
28 let root = workspace::root()?;
29
30 setup_native::ensure_native_artifacts(&root, false)?;
31
32 let importer_path = root.join("crates/importer");
33 let importer_str = importer_path.to_string_lossy().into_owned();
34
35 let mut cargo_args = vec!["install", "--path", &importer_str];
36 let extra_refs: Vec<&str> = args.extra.iter().map(String::as_str).collect();
37 cargo_args.extend_from_slice(&extra_refs);
38
39 cmd::run("cargo", &cargo_args, &root, &[])
40}